我的CSV大小为4.5GB。我想根据列将此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分解为用于Mysql导入的许多较小的CSV。
虽然我可以使用多个awk命令轻松完成此操作,但我不想使用每个命令重新处理整个4.5GB-6GB文件。有什么建议吗?
答案 0 :(得分:2)
您可以print
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
{aw}中的不同文件:
string strBase64 = Convert.ToBase64String(bytes);