0

約 6000 行と 200 万列の巨大なタブ区切りファイルを転置しようとしています。好ましいアプローチは、ファイル全体をメモリに保持することではありません。これは、この質問の答えのようです。

csvテーブルのデータの行から列への転置を行うには?

4

1 に答える 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 に答える