Csv 转换文件中数据网格的最佳方法

Csv 转换文件中数据网格的最佳方法,csv,transpose,data-processing,tsv,Csv,Transpose,Data Processing,Tsv,我有一个二维网格上的值的大数据文件。 它们的组织方式使得网格中的后续数据行是文件中的后续行。 每列由制表符分隔。 本质上,这是一个CSV文件,但带有选项卡而不是列 我需要转置数据(第一行变成第一列)并将其输出到另一个文件。最好的方法是什么?任何语言都可以(我更喜欢使用Perl或C/C++)。目前,我使用Perl脚本将整个文件读入内存,但我使用的文件非常庞大。最简单的方法是对输入进行多次传递,每次传递时提取列的子集。列数由您想要使用的内存量和输入文件中的行数决定 例如: 在pass1中,您读取整个

我有一个二维网格上的值的大数据文件。 它们的组织方式使得网格中的后续数据行是文件中的后续行。 每列由制表符分隔。 本质上,这是一个CSV文件,但带有选项卡而不是列


我需要转置数据(第一行变成第一列)并将其输出到另一个文件。最好的方法是什么?任何语言都可以(我更喜欢使用Perl或C/C++)。目前,我使用Perl脚本将整个文件读入内存,但我使用的文件非常庞大。

最简单的方法是对输入进行多次传递,每次传递时提取列的子集。列数由您想要使用的内存量和输入文件中的行数决定

例如:


在pass1中,您读取整个输入文件,并仅处理前10列。如果输入有100万行,那么输出将是一个包含100万列和10行的文件。在下一步中,您将再次读取输入,并处理第11列到第20列,将结果附加到原始输出文件中。依此类推……

如果您安装了带有NumPy的Python,那么就很容易做到:

#!/usr/bin/env python

import numpy, csv

with open('/path/to/data.csv', 'rb') as file:
    csvdata = csv.reader()

data = numpy.array(csvdata)
transpose = data.T
。。。
csv
模块是Python标准库的一部分

你说的“巨大”是什么意思?1GB、100GB、1TB?