trを使用して、タブ区切り変数ファイルをコンマ区切り変数ファイルに変換することはできません。

trを使用して、タブ区切り変数ファイルをコンマ区切り変数ファイルに変換することはできません。

~についてこのtxtファイル、内容を含む行の間に空白行があるタブで区切られた.txtファイルで最もよく説明されています。

人々は走ることを考える

cat goods.txt | tr "\t" "," > output.csv.txtファイルは.csvにきちんと変換されなければなりません。

(によるとこのスタックオーバーフローソリューション)

しかし、値とテキストが間違った列で送信されることを観察しました。

ここに画像の説明を入力してください。

それ以外の場合は、数字は列間で分割されます。

ここに画像の説明を入力してください。

私が何を見落としているのかよくわかりません。ここで必要なファイル変換を達成する正しい方法は何ですか?

答え1

ミラーの使用(https://github.com/johnkerl/miller)

mlr --t2c cat goods.txt >goods.csv

あなたはこの出力を得るでしょうhttps://gist.github.com/aborruso/fab6a48a390a9c54de55dece9141bea6

それはあなたが望むものですか?

答え2

次のcsvkitユーティリティは.txtを.csvファイルにきちんと変換します。

csvformat -t貨物.txt

クレジットはregに移動します。ワールプールフォーラム

CSV形式に関する追加情報ここ(CSVファイルをカスタム出力形式に変換)。

によると、また参照してくださいcsvkit マニュアル:

===========

各csvkitツールは次のことを行います。

  • -quoting(-u)オプションがこの動作を変更するように設定されていない場合は、オプションの引用符を削除します。

  • -delimiter(-d)または-tabs(-t)オプションを使用して入力区切り文字を設定した場合は、フィールド区切り文字をコンマに変更します。

  • レコード区切り文字を改行に変更

  • -quotechar(-q)オプションを使用して引用符文字を設定した場合は、引用符文字を二重引用符に変更します。

  • -encoding(-e)オプションを使用して入力エンコーディングを設定した場合は、文字エンコーディングをUTF-8に変更します。

===========

関連情報