0

FAQには、これはトピックに関するものであると書かれています。

   SOFTWARE TOOLS COMMONLY USED BY PROGRAMMERS

だから閉まらないと思います!私が最後に尋ねたとき、それはトピック外として閉じられました。

編集:ExcelがINの途中でタブ区切りファイルを壊してしまうため、Excelに関連する提案された回答は機能しません。私はPythonでプログラミングしていません。そこでのPythonユーティリティは、引用符とコンマが埋め込まれた文字列では機能しないと言われています。RFC4180を理解するものが必要です。

標準の引用符で囲まれたカンマ区切り形式にエクスポートできるユーティリティまたはテキストエディタプラグインが必要です。他にももっと差し迫ったコードを書く必要があるので、自分で書きたくありません。

この形式(数十年にわたる標準のCSVバリアント)は、文字列を二重引用符で囲みますが、数値はそのままにし、フィールドをコンマで区切り、データでコンマを使用できるようにします(これが文字列が引用される理由です)。

最近のバージョンのExcelでは、文字列を二重引用符で囲みません。古いバージョンはそうしました。

このタスクをaplombで実行するプログラマーが使用するソフトウェアツールを知っている場合は、アドバイスしてください。

4

1 に答える 1

0

sedツールを使用してこれを実現できます。あなたの例を考えると、パイプがタブであると仮定します:

ジョン|マクドゥガル|「マック」|123 メイン ストリート|プリンストン|NJ|08543||100.88|20130309|サイクリング、ハイキング

そして、あなたの望む出力: *

"ジョン","マクドゥーガル","""マック""","123 メイン ストリート","プリンストン","NJ","08540","100.88","","20130309","サイクリング、ハイキング"

これは次の方法で実行できます。

  • "で置き換える""
  • タブを引用符で囲んだコンマに置き換える
  • 各行を引用符で囲む
  • 末尾の空行のトリミング

ではsed、これを行うだけです:

sed 's/"/""/g; s/\t/","/g; s/^\|$/"/g; /^"$/d' < in.tsv > out.csv

GnuWin プロジェクトは、ここsedで Windows 用のポートを維持しています。

※上記"""Mac"""以外は必要だと思います。""Mac""

于 2013-03-10T20:10:28.913 に答える