単一の列を複数の行に分割してデータ型を指定する

単一の列を複数の行に分割してデータ型を指定する

助けが必要です。単一の列に次の形式のデータがあります。

A:1   
B:2   

A:3   
C:8   
B:2   

C:4   
B:2 

次の形式の出力が必要です。

A,B,C
1,2,
3,2,8
,2,4

おすすめしてください! !

答え1

最新バージョンを使用してください。ミラー

$ ~/src/miller/c/mlr --ixtab --ips ':' --ocsvlite clean-whitespace then unsparsify yourfile
A,B,C
1,2,
3,2,8
,2,4

データに末尾の空白が含まれていない場合は省略できます。clean-whitespaceこの場合は以前のバージョンでmlr十分です。バージョンはありませんが、clean-whitespaceデータに必要な場合は別のツールと組み合わせることができますsed。たとえば、次のようになります。

sed 's/ *$//' yourfile | mlr --ixtab --ips ':' --ocsvlite unsparsify

関連情報