簡體   English   中英

按列將CSV大文件拆分為多個文件

[英]Split Large CSV into multiple files by column

我有一個大小為4.5GB的CSV。 我想將此CSV根據列分為不同的文件。 例如:

File1.csv: Cols(1,35,36,37)    
File2.csv: Cols(1,127,129,135) 
File3.csv: Cols(1,285,287,299,311) 
File4.csv: Cols(1,2,4,5,6,12,13,14)

**請注意,列1是id列,並且始終需要。

從本質上講,我想將此包含328列的CSV分解為許多較小的CSV,用於Mysql導入。

盡管我可以使用多個awk命令輕松完成此操作,但我不想使用每個命令重新處理整個4.5GB-6GB的文件。 有什么建議么?

您可以 print 輸出重定向到awk中的其他文件:

awk '{print $1, $35, $36, $37 > "file1.csv"} \
     {print $1, $127, $129, $135 > "file2.csv"} \
     {print $1, $285, $287, $299, $311 > "file3.csv"}\
     {print $1, $2, $4, $5, $6, $12, $13, $14 > "file4.csv"}' inFile.csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM