2016-12-29 105 views
0

我在寫一個CSV解析器,我希望它符合this標準。它指出:關於行尾的CSV標準

  1. 每條記錄​​都位於一個單獨的行,由換行符(CRLF)

我應該如何處理行僅LF性格CR結束界定?我是否應該把它們當作文字並傳遞給現場,將其解釋爲行結束。或者,也許配音文件格式不正確?

我想,大多數靈活的解決方案將接受任何類型的行結束,但我想弄清楚什麼標準說。

您對此有何看法?

+1

http://stackoverflow.com/q/1552749/5505232看起來這個帖子它可能會幫助你 –

回答

0

您當然不應該將它們視爲格式錯誤,因爲例如在Linux,Windows和Mac上可能會有不同的行尾。

最好全部支持他們。

此外,如果字段被正確引用,那麼字段中也可以有換行符。所以你也需要檢查一下。

例如:

123,"test on 2 
lines",456 

是一個有效的CSV行。

+0

當然,我接受這些類型的領域。那麼這個RFC標準中的'CRLF'應該被讀爲'CR'還是'LF'或'CRLF'? – PKua

+1

@PKua csv或tsv沒有真正的標準,只有這個RFC。但是,是的,最好支持三種:'CRLF','CR'和'LF'。文件也可能使用'CRLF'作爲記錄結尾,但在多行字段中只使用'LF'(或'CR')。 –

+0

好點。所以我想我會去換行的行分隔符並在引用的字段中獲取不變的CR | LF字符序列。謝謝。 – PKua