我很难将大的(50GB)csv文件分解为更小的部分。每行有几千个字段。一些字段是用双引号括起来的字符串,其他字段是整数,小数和布尔值。使用字段数量将文件拆分为更小的文件
我想逐行解析文件并按每行中的字段数拆分。这些字符串可能包含几个逗号(如),以及一些空字段。
,, 1,30,50 “由父亲,儿子和$ 4,000女儿卖”,,,,, 12 ,,, 20.9,0,
我尝试使用
perl -pe' s{("[^"]+")}{($x=$1)=~tr/,/|/;$x}ge ' file >> file2
将引号内的逗号更改为|但那不起作用。我打算使用
awk -F"|" conditional statement appending to new k_fld_files file2
有没有更简单的方法来做到这一点?我正在看python,但我可能需要一个实用程序,它将逐行处理文件。
那么,是一列意思是一个文件? – 2012-08-17 00:36:19
这是一行的一部分。有几百万行。 – Yoda 2012-08-17 00:40:38
更好地重新导出您的文件与字段分隔符不包含在您的数据。 '|'字符通常是安全的,并且可见,不像其他最喜欢的选项卡字符。祝你好运。 – shellter 2012-08-17 00:41:44