2017-02-21 38 views
0

我需要解析可能包含引用多行字符串像下面CSV文件:解析CSV加引號的多串

ID;Name;Password;address; phoneNum  
1; "userName"; "userPassword"; "user \n 
    address"; 1234523423 

我通過共享CSV庫的功能,這似乎滿足大多數要求看,但它不如果引號沒有關閉,似乎沒有選項可以讀取下一行。

顯然,如果需要使用單引號,應該用一對額外的雙引號進行篩選。

+1

恕我直言,這應該永遠不會是_option_。這就是CSV被解析的方式。 – Joey

+2

[測試](https://github.com/apache/commons-csv/blob/master/src/test/java/org/apache/commons/csv/CSVParserTest.java#L68-L70)似乎表明,這可以直接使用(因爲它應該)。 – Joey

回答

1

它應該工作得很好,除非庫中存在一些錯誤或配置錯誤。但是,您的密碼可能會出現未經轉義/未加密的引用字段,而且這些字段的寫法不正確。

如果出現這種情況,請嘗試univocity-parsers,因爲它有many different options可正確處理未轉換/未關閉的引號。它比Commons CSV快4倍。

信息披露:我是該圖書館的作者。

+0

獲得1Gb csv文件,包含未轉義的引號和多行值。非常感謝@ jeronimo-backes爲他的[univocity-parsers](http://www.univocity.com/pages/parsers-tutorial)。小內存佔用,靈活的設置,友好的支持。 –