我正在使用Commons CSV解析與電視節目相關的CSV內容。其中一個節目有一個節目名稱,其中包含雙引號;使用Commons CSV進行CSV解析 - 引起IOException的引號引用
116,6,2,29 09月10 「」 JJ 「(60分鐘)」, 「http://www.tvmaze.com/episodes/4855/criminal-minds-6x02-jj」
的showname是 「JJ」(60分鐘),這是已經在雙引號。這是拋出一個IOException java.io.IOException:(第1行)封裝的令牌和分隔符之間的無效字符。
ArrayList<String> allElements = new ArrayList<String>();
CSVFormat csvFormat = CSVFormat.DEFAULT;
CSVParser csvFileParser = new CSVParser(new StringReader(line), csvFormat);
List<CSVRecord> csvRecords = null;
csvRecords = csvFileParser.getRecords();
for (CSVRecord record : csvRecords) {
int length = record.size();
for (int x = 0; x < length; x++) {
allElements.add(record.get(x));
}
}
csvFileParser.close();
return allElements;
CSVFormat.DEFAULT已經設置withQuote( '' 「)
我認爲這個CSV格式不正確的 」「 JJ」(60分鐘) 「應爲 」「, 」JJ「」( 60分鐘)「 - 但有沒有辦法讓公共CSV來處理這個問題,或者我需要手動修復這個條目嗎?
其他信息:其他顯示名稱在CSV條目中包含空格和逗號,引用
withQuote(「「」)已經默認設置不幸的是,空間是合法入境和內遏制。在CSV中的各種其他行在這種方式我不能把它作爲一個引號字符 – mhollander38
@ mhollander38空間仍然是我的格式合法,我會添加一個例子和輸出 – SHG