
2 つの csv ファイルがあり、notepad++ などのテキスト エディターで表示すると、同じように見えます。ただし、両方を Excel (現時点では 2003) で開くと、一方のフィールドには二重引用符が表示され、もう一方のフィールドには表示されません。なぜこのようなことが起こるのか、誰か知っていますか?
注: 列の順序と数は異なります
ファイル1はExcelで「
"1794", "FEMALE", "9", "", "CHRISTENSEN", "JAMES FAKE", "LUCIA", "8/28/2006", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "40890", "209417", "767-544-033", ""
ファイル2はExcelで「」を表示しません
"1794","CHRISTENSEN","JAMES FAKE","LUCIA","8/28/2006","9","FEMALE","","","","","","",""
他にどのような問題となる変数に注意する必要がありますか? エンコードは重要ですか?
答え1
1つはフィールドに二重引用符を表示し、もう1つは表示しません
なぜそうなるのか誰か知っていますか?
最初のファイルには、カンマの後にスペースがあります。
両方のファイルで同じ動作を得るには、スペースを削除します。
RFC 4180 によれば、フィールド内の引用符の外側のスペースは許可されていません。ただし、RFC には、「スペースはフィールドの一部とみなされるため、無視してはならない」とも記載されています。また、「実装者は、CSV ファイルを処理する際に、『実行には慎重であり、他者から受け入れる内容には寛容である』 (RFC 793) 必要があります」とも記載されています。
1997, Ford, E350
は同じではありません
1997,Ford,E350
ソースカンマ区切りの値