名前と番号の 2 列の CSV があります。一部の人の名前にはカンマが使用されています。たとえば、Joe Blow, CFA.
このカンマは新しい列として解釈されるため、CSV 形式が壊れます。
調べてみたところ、最も一般的な対策は、その文字を置き換えるか、区切り文字を新しい値 (例this|that|the, other
) に置き換えることのようです。
カンマ区切り文字はそのままにしておきたいです (Excel は他の区切り文字をサポートしていますが、他のインタープリターはサポートしていない可能性があります)。名前にもカンマを残しておきたいです。Joe Blow| CFA
見た目がかなりおかしいからです。
エスケープするなどして、書式を崩さずに CSV 列にカンマを含める方法はありますか?
ベストアンサー1
,
カンマ ( ) または二重引用符 ( ) 文字を含むフィールドをエンコードするには"
、フィールドを二重引用符で囲みます。
field1,"field, 2",field3, ...
リテラルな二重引用符文字は、通常、二重引用符のペア( )で表されます""
。たとえば、二重引用符文字を 1 つだけ含むフィールドは、 としてエンコードされます""""
。
例えば:
Sheet: |Hello, World!|You "matter" to us.|
CSV: "Hello, World!","You ""matter"" to us."
その他の例 (シート → csv):
regular_value
→regular_value
Fresh, brown "eggs"
→"Fresh, brown ""eggs"""
"
→""""
","
→""","""
,,,"
→",,,"""
,"",
→","""","
"""
→""""""""
見るウィキペディア。