約 6000 行と 200 万列の巨大なタブ区切りファイルを転置しようとしています。好ましいアプローチは、ファイル全体をメモリに保持することではありません。これは、この質問の答えのようです。
質問する
1044 次
1 に答える
0
1 つのアプローチは、すべての列に対して入力ファイルを 1 回反復処理することです (テストされていないコードです!)。
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
これは非常に遅くなりますが、一度に 1 行しかメモリに保持しません。
于 2013-06-18T10:27:44.423 に答える