我正在尝试从文本文件中提取数据并将其放入2D数组中,其中列按其所代表的值进行组织,因此我可以绘制数据并对其进行分析。文本文件中的数据格式为
10.24284 49.89447 462.90 312.4 Wed Wed 12,2016 6:42:10p EST
我希望能够将每列中的值分成它们自己的列表或完整的2D数组。我试过调查open('filename')
以及readlines
,但它只是返回了一堆没有以任何方式排序的数字。这个问题的最佳解决方案是什么?
答案 0 :(得分:1)
使用open('filename', 'r')
(r表示读取),您可以使用简单的for循环遍历代码中的所有行。像这样的东西:
with open('filename', 'r') as inputfile:
for line in inputfile:
#do something with the string
你说你的数据格式是这样的:
10.24284 49.89447 462.90 312.4 Wed Wed 12,2016 6:42:10p EST
你可以采取每一行并将其拆分在每个空间上,如下所示:
line.split(" ")
你现在有类似的东西:
['10.24284', '49.89447', '462.90', '312.4', 'Wed', 'Dec', '7,', '2016', '6:42:10p', 'EST']
如果您想将日期保存在最终数组中,您可以限制分割它的时间,如下所示:
line.split(" ", 4)
这会给你:
['10.24284', '49.89447', '462.90', '312.4', 'Wed Dec 7, 2016 6:42:10p EST']
答案 1 :(得分:0)
数字部分是微不足道的......
result = [map(float, L.split()[:4]) for L in open("datafile.txt")]
result[43][2]
将是第44行的第三个数字(在Python中从0开始计数)