我想导入一个文件,然后使用两个定界符将它们加载到两个数组中。我想打开包含以下内容的data.txt:
place1,time1
place2,time2
place3,time3
...
我希望arrayplaces
成为times
','之前的位置,并成为','之后的时间
我可以使用open()成功加载文件,然后将它们拆分为一个数组 line.strip().split('\n')
data = open("data.txt", "r")
infoArray = []
for line in data:
infoArray.append(line.strip().split('\n'))
data.close()
print infoArray
我希望places [0]是place1,places [1]是place2,依此类推...并且对于time [0]是time1,time [1],是time2,等等。
您可以使用该csv
模块读取逗号分隔的数据,以及zip()
在解压缩可迭代reader
对象时:
>>> import csv
>>> with open("data.txt") as f:
... reader = csv.reader(f)
... p, t = zip(*reader)
...
>>> p
('place1', 'place2', 'place3')
>>> t
('time1', 'time2', 'time3')
使用csv
过度尝试自己解析文件的论点是,它将处理诸如对引用值(标准CSV格式)的调用str.split(line, ',')
会失败的问题。
无论您仅使用file
对象还是csv.reader
结果,都可以迭代。遍历它们时,将获得文件的各个行。这是一个更可见的输入示例,您可以在其中可视[1, 2]
化为对应于第一行数据和[3, 4]
第二行:
>>> a, b = zip(*[[1, 2], [3, 4]])
>>> a
(1, 3)
>>> b
(2, 4)
最后,此示例使用with open()
,创建一个上下文管理器,并确保在使用完文件后将其关闭。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句