【发布时间】:2015-07-14 13:25:11
【问题描述】:
我正在尝试读取文件并用逗号分隔每行中的一个单元格,然后仅显示第一个和第二个单元格,其中包含有关纬度和经度的信息。 这是文件:
时间,纬度,经度,type2015-03-20T10:20:35.890Z,38.8221664,-122.7649994,earthquake2015-03-20T10:18:13.070Z, 33.2073333,-116.6891667,地震2015-03-20T10:15:09.000Z,62.242,-150.8769,地震
我的程序:
def getQuakeData():
filename = input("Please enter the quake file: ")
readfile = open(filename, "r")
readlines = readfile.readlines()
Type = readlines.split(",")
x = Type[1]
y = Type[2]
for points in Type:
print(x,y)
getQuakeData()
当我尝试执行这个程序时,它给了我一个错误
"AttributeError: 'list' 对象没有属性 'split'
请帮帮我!
【问题讨论】:
-
因为
list没有split()只有string对象有split -
readlines()返回一个list。您必须在该list中的每个字符串上使用split()。 -
仔细阅读错误。您正在尝试拆分
readlines,这是一个列表。那是做不到的。 -
你为什么首先使用
readlines?如果您只想将第一行作为一个字符串,那就是readline。如果您希望将整个文件作为一个巨大的字符串,那就是read。如果你想要一个列表或其他可迭代的行,你可以为此使用readlines,但你也可以只使用文件本身,所以它仍然没有用。 -
附带说明,您可能需要考虑在此处使用
csv模块。特别是如果实际上有标题行;那么你可以使用for row in csv.DictReader(readfile):,然后你的值是row['latitude']和row['longitude']而不是row[1]和row[2],这可能更具可读性。
标签: python list split turtle-graphics