区切り文字(カンマ)を使用してCSV(1列)を複数の列に分割します。

区切り文字(カンマ)を使用してCSV(1列)を複数の列に分割します。

1つの列に約50個のカンマ区切り値を含むCSVがあり、それを別々の列に分割したいと思います。タイトルは1行です。これは非常に簡単なはずですawk。私は多くの方法を試しましたが、mlrカンマを区切り文字として使用して単一の列を複数の列に分割する方法を見たものは適用できません。

私のプロセス:

  1. かつてmlr何百ものCSVを1つのCSVにマージしたことがあります。

    mlr --icsv cat *.csv > filename.txt
    mlr --ocsv unsparsify filename.txt > filename.csv
    
  2. 今1つの列を持つCSVがあります。その列には約50個のカンマ区切りの値があり、これを複数の列に分割したいと思います。

ベストアンサー1

常にいくつかの入出力サンプルファイルを追加する必要があります。

私はあなたがCSVを含む1つの列(ここではフィールドa)と一緒にこのタイプの入力(csv)を持っていることを理解したようです。

第二
1,2,3 ああ ああ
4,7,9 FF FF

元のCSVは次のとおりです。

a,b,c
"1,2,3",aa,aa
"4,7,9",ff,ff

ミラーを使用してネストされた動詞、実行することができます

mlr --csv nest --explode --values --across-fields -f a --nested-fs "," input_01.csv > output.csv

持つ

a_1 a2 a_3 第二
1 2 サム ああ ああ
4 7 9 FF FF

元の出力は

a_1,a_2,a_3,b,c
1,2,3,aa,aa
4,7,9,ff,ff

おすすめ記事