Project-Management

為什麼逗號是 CSV 文件中的錯誤記錄分隔符/分隔符?

  • November 22, 2015

我正在閱讀這篇文章,我很好奇這個問題的正確答案。

我唯一想到的可能是在某些國家/地區,小數點分隔符是逗號,在CSV中共享數據時可能會出現問題,但我不確定我的答案。

CSV 格式規範在RFC 4180中定義。發布此規範是因為

不存在正式的規範,允許對 CSV 文件進行多種解釋

不幸的是,自 2005 年(發布 RFC 的日期)以來,一切都沒有改變。我們仍然有各種各樣的實現。RFC 4180 中定義的一般方法是將包含逗號等字符的字段括在引號中,但是不同的軟件並不總是滿足此建議。

問題是在各種歐洲語言環境中,逗號字符用作小數點,所以你寫0,005而不是0.005. 然而在其他情況下,使用逗號代替空格來表示數字組,例如4,000,000.00(參見此處)。在這兩種情況下,使用逗號都可能導致從 csv 文件讀取數據時出錯,因為您的軟件並不真正知道0,005, 0,1是兩個數字還是四個不同的數字(參見此處的示例)。

最後但並非最不重要的一點是,如果您將文本存儲在數據文件中,那麼逗號在文本中比分號更常見,因此如果您的文本沒有用引號括起來,那麼這些數據也很容易被錯誤讀取.

沒有什麼能讓逗號更好或更差的字段分隔符*,因為*CSV 文件是按照 RFC 4180 的建議使用的,以防止上述問題。但是,如果使用不將字段括在引號中的簡化 CSV 格式存在風險,或者建議的使用可能不一致,那麼其他分隔符(例如分號)似乎是更安全的方法。

引用自:https://stats.stackexchange.com/questions/182970

comments powered by Disqus

相關問答