python - 为什么我会收到 AttributeError 消息?
问题描述
我有一个名为 tweets.txt 的文件。每一行的格式为:
[纬度,经度] 取值日期时间文本
文件中包含的数据示例:
[41.298669629999999,-81.915329330000006] 6 2011-08-28 19:02:36 工作需要飞过去......我很高兴看到 Spy Kids 4 对我生命的热爱...... ARREIC
[33.702900329999999,-117.90150957040000 ] 6 2011-08-28 19:03:13 今天将是我一生中最伟大的一天。受雇在我最好朋友的祖父母 50 周年纪念日拍照。60位老人。呜。
[38.809954939999997, -77.125144050000003] 6 2011-08-28 19:07:05 我只是把我的生命放在5个手提箱里
我的任务要求我提取每行的第一个和第二个索引(纬度和经度,它们是整数)。问题是这些有诸如“[”、“、”和“]”之类的字符,我想删除这些。
tweetfile=input("Enter name of tweet file: ")
infile=open(tweetfile,"r",encoding="utf-8")
for line in infile:
line=line.rstrip()
word=line.split()
word=word.rstrip(",")
如您所见,每当我在上面的字条行中输入参数时,无论是 [、逗号还是 [,我都会不断收到一条错误消息:
AttributeError:“列表”对象没有属性“rstrip”
为什么我会收到此消息?我以为我在做正确的事。这样做的正确方法是什么?
解决方案
split
将字符串拆分为列表。rstrip
当您需要在每个单词上调用它时,您正在尝试在实际列表中执行。
您可以遍历列表以实现此目的:
for line in infile:
line=line.rstrip()
for word in line.split():
word=word.rstrip(",")
或者,您可以像以前那样拆分它并通过索引访问您想要的单词。
为了澄清:
在您的代码中,split()
变成word
:
[“[38.809954939999997”,
"-77.125144050000003]",
"6",
"2011-08-28 19:07:05",
“我”,
“只是”,
“放”,
“我的”,
“生活”,
“在”,
“喜欢”,
"5",
“手提箱”]
您正在尝试对此进行rstrip
操作,而不是单词本身。遍历列表访问每个单词并允许您使用rstrip
.
推荐阅读
- php - woocommerce类别深度作为if语句的条件
- javascript - 我怎么知道 Observable 是否有错误或没有错误完成?
- cordova - 科尔多瓦的地理位置
- android - 将用户自动登录到android应用程序的更好方法是什么?
- azure-active-directory - 如何使用 Microsoft Graph API 从用户配置文件中获取组织(租户)ID
- ios - 更改子视图的高度后调整超级视图的大小 - 没有自动布局
- powershell - PowerShell PSCustomObject 内容编辑
- wso2 - 在本机桌面应用程序上使用 WSO2
- r - 通过不同的列将列表中的多个数据框合并到另一个数据框
- python-3.x - AIRFLOW:如何设置对多个任务运行的依赖关系