1. ホーム
  2. csv

[解決済み] CSVの列に、書式を崩さずにカンマを入れる方法はありますか?

2022-03-21 11:35:34

質問

名前と番号の2列のCSVがあります。人名にはカンマを使用するものもあり、例えば Joe Blow, CFA. このカンマは新しい列として解釈されるため、CSVの形式を壊してしまいます。

を読んでみましたが、最も一般的な処方箋は、その文字を置き換えるか、デリミタを新しい値に置き換えるようです(例. this|that|the, other ).

カンマ区切りはぜひ残してほしいです(excelが他の区切り文字をサポートしていることは知っていますが、他のインタプリタではサポートしていないかもしれません)。また、名前にもカンマを使用したいです。 Joe Blow| CFA はかなりバカバカしく見えます。

CSVのカラムに、書式を崩さずにカンマを入れる方法、例えばエスケープする方法はありますか?

どのように解決するのですか?

フィールドを引用符で囲む、例.

field1_value,field2_value,"field 3,value",field4, etc...

参照 ウィキペディア .

更新情報 :

引用符をエンコードするには " としてエンコードされ、フィールド内の1つのダブルクォート記号は "" となり、フィールド全体は """" . ですから、例えばExcelで次のように表示された場合。

---------------------------------------
| regular_value |,,,"|  ,"", |"""   |"|
---------------------------------------

CSVファイルには、以下の内容が含まれます。

regular_value,",,,""",","""",","""""""",""""

カンマは引用符で囲むだけなので , は次のようになります。 "," .

カンマと引用符はカプセル化されて引用される必要があるため ","""",""" .