大きな(50GB)csvファイルを小さな部分に分割するのに苦労しています。各行には数千のフィールドがあります。一部のフィールドは二重引用符で囲まれた文字列であり、その他のフィールドは整数、小数、ブール値です。
ファイルを1行ずつ解析し、各行のフィールド数で分割したいと思います。文字列には、いくつかのコンマ(など)と、いくつかの空のフィールドが含まれている可能性があります。
,, 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を見ていますが、ファイルを1行ずつストリーム処理するユーティリティがおそらく必要です。