【发布时间】:2017-01-31 08:23:17
【问题描述】:
我正在开展一个项目,该项目涉及存储在 .txt 文件中的大数据。我的程序运行有点慢。我认为的一个原因是我的程序以一种非有效的方式解析文件。
文件样本:
X | Y | Weight
--------------
1 1 1
1 2 1
1 3 1
1 4 1
1 5 1
1 6 1
1 7 1
1 8 1
1 9 1
1 10 1
解析器代码:
def _parse(pathToFile):
with open(pathToFile) as f:
myList = []
for line in f:
s = line.split()
x, y, w = [int(v) for v in s]
obj = CoresetPoint(x, y, w)
myList.append(obj)
return myList
这个函数被调用NumberOfRows/N 次,因为我只解析一小块数据来处理,直到没有剩下任何行。我的.txt 是几个千兆字节。
我可以明显地看到我在循环中迭代了NumberOfLines 次,这是一个巨大的瓶颈和BAD。这引出了我的问题:
问题:
解析文件的正确方法是什么,最有效的方法是什么,以及在.txt 中以不同的方式组织数据?如果是这样,我应该如何在file 中组织data?
【问题讨论】:
标签: python python-2.7 file parsing optimization