在python中转置一个大的制表符分隔文件

时间:2013-06-18 10:15:56

标签: python data-manipulation

我试图转换一个包含大约6000行和200万列的大型制表符分隔文件。最好的方法不应该涉及将整个文件保存在内存中,这似乎就是这个问题的答案所在:

How to do row-to-column transposition of data in csv table?

1 个答案:

答案 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

这将非常缓慢,但一次只能在内存中保留一行。