【发布时间】:2019-09-16 17:21:12
【问题描述】:
我有一个文件,其中包含一个大的数字表,大小约为 300 MB。我想用 Python 读这个。
数据如下所示:
-200 1 11097.4 16414.2 1
-200 1 11197.4 16414.8 1
-200 1 11297.4 16415.4 1
-200 1 11397.4 16416 1
-200 1 11497.4 16416.5 1
-200 1 11597.4 16417.1 1
-200 1 11697.4 16417.7 1
Python 代码如下所示:
with open(filename) as f:
nrow, ncol= [int(x) for x in next(f).split()]
for k in range(2):
rr = []
for i in range(nrow+1):
row = []
for j in range(ncol+1):
a = next(f).split()
row.append([int(a[0]), int(a[1]), float(a[2]), float(a[4])])
rr.append(row)
summary.append(rr)
这很慢;读取文件大约需要 60 秒。我想把它缩短到不到 10 秒。让它更快一点的最简单方法是什么?
如果有帮助,我非常乐意更改数据文件格式。
【问题讨论】:
-
你看过熊猫吗?
-
从来没有听说过熊猫,会google,谢谢!
-
我认为您可能在所有这三个嵌套循环中都读错了数据。您从文件的第一行读取的值
nrow和ncol是什么? -
没错,表格是2*nrow*ncol条目,每个条目一行写5个数字。
-
好的,如果你确定
标签: python optimization