2011-08-02 38 views
0

是否可以讀取csv文件,其中的值由字符串而不是單個字符分隔?早些時候,csv文件有一個逗號分隔符,但現在它正在使用字符串分隔符「###」創建。我無法控制csv文件的創建。使用Opencsv讀取「字符串」分隔值

我使用的是Opencsv庫http://sourceforge.net/projects/opencsv/,它似乎不支持僅用於字符串分隔符的字符。

有沒有辦法解決上述問題? Opencsv庫有什麼好的和類似的替代品嗎?

回答

-1

該文檔給你一個如何做到這一點的例子。見http://opencsv.sourceforge.net/#custom-sepators

我可以使用自己的分隔符和引號字符嗎?
是的。有建設者可以提供你自己的 分隔符和引號字符。說你是使用標籤爲您 分隔符,你可以做這樣的事情:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), '\t'); 

如果你單引號的轉義字符,而不是 雙引號它們,您可以用三個參數的構造函數:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), '\t', '\''); 
+1

我讀過,而且他們只提單個字符,而不是字符的字符串 – aldrin

+0

@aldrin顯然沒有開源的Java庫,可以處理多個字符的CSV分隔,按我的最近的有關問題( http://stackoverflow.com/questions/8653 797/java的CSV-解析器與串 - 隔膜 - 多字符)。但是,如果您同時找到了一個,請在那裏投稿。 – PNS

+0

@PNS不,我沒有找到替代方案。我試圖修改OpenCSV來處理多字符分隔符,但這不是微不足道的。所以我最終用一個字符替換了多個字符作爲預處理步驟並繼續。 – aldrin