我正在尝试读取一个文件,并通过逗号分隔每行中的单元格,然后仅显示包含有关纬度和经度信息的第一个和第二个单元格。
这是文件:
我的程序:时间,纬度,经度,类型2015-03-20T10:20:35.890Z,38.8221664,-122.7649994 ,地震 2015-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' object has no attribute 'split'
请帮助我!
list
没有split()
方法,只有string
对象才有split
方法。 - letscreadlines()
返回一个list
。你需要对该list
中的每个字符串使用split()
函数。 - TigerhawkT3readlines
,它是一个列表。这是不可能的。 - Loocidreadlines
呢?如果你只想要第一行作为一个字符串,那就用readline
。如果你想要整个文件作为一个巨大的字符串,那就用read
。如果你想要一个行的列表或其他可迭代对象,你可以使用readlines
,但你也可以直接使用文件本身,所以它还是没有用处的。 - abarnertcsv
模块。特别是如果有一个标题行的话;那么您可以使用for row in csv.DictReader(readfile):
然后您的值是row['latitude']
和row['longitude']
而不是row[1]
和row[2]
,这可能更易读一些。 - abarnert