2017-02-13 71 views
0

我用openCSV解析CSV文件(分隔符爲 ';' &引號字符是「「),解析錯誤格式時喜歡下面一行:
列1; 「列2」;列 「」 3
結果是值的數組: 一個[0] =列1中,[1] =列2中,[2] =列「3
OpenCSV不符合CSV標準(RFC 4180)

但我認爲這是一個wr翁的結果,因爲輸入(字符串:列「」 3)違反RFC 4180第5條(https://tools.ietf.org/html/rfc4180):
每場可以或不可以用雙引號(不過一些程序,如Microsoft Excel,根本不要使用雙引號)。 如果字段沒有用雙引號括起來,那麼雙引號可能不會出現在字段內。

有沒有人知道如何檢測openCSV中的這種違規行爲?

回答

1

OpenCSV僅分析文件/字符串,它沒有驗證。基於這些參數,只要它可以解析字符串,它就不會引發錯誤。它使得字符串有效的基本假設。

你是否在RFC4180Parser中使用opencsv的3.9版本?這應該會給你一個不同的答案:)

+0

尊敬的@ Scott,是的,我使用的版本3.9,我會嘗試用RFC4180Parser。 非常感謝:) – nguyenbkcse