我试图转换一个包含大约6000行和200万列的大型制表符分隔文件。最好的方法不应该涉及将整个文件保存在内存中,这似乎就是这个问题的答案所在:
答案 0 :(得分:0)
一种方法是为每列迭代输入文件一次(未经测试的代码!):
with open("input") as f, open("output", "w") as g:
try:
for column_index in itertools.count():
f.seek(0)
col = [line.split("\t")[column_index] for line in f]
g.write("\t".join(col) + "\n")
except IndexError:
pass
这将非常缓慢,但一次只能在内存中保留一行。