我正在使用opencsv來讀取csv文件。有一段時間,csv文件中有單引號或雙引號。我如何在不更改csv文件本身中的數據的情況下閱讀它們。opencsv轉義單引號和雙引號
現在,如果我用兩個單引號替換單引號,它可以很好地工作,與雙引號相同,用兩個替換單個引號,它就可以工作。但我不想觸摸源文件。
該代碼訪問的是如下
CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(file), "UTF-8"), delimiter,'\"',0);
data = a1;b1;c1;hello"world;d1;e1
a2;b3;c2;hello"world;d2;e2
; is the delimiter
這樣做的結果是下一行,其還包含一個雙引號被跳過,所有奇數行被插入其中作爲偶數行被跳過
在此先感謝
請寫下您的文件閱讀代碼,以便我們可以對其進行修改 –
您可以更詳細地描述您所看到的行爲,還是提供一個示例輸入/輸出? –
我不確定opencsv是如何運作的。但是,當你不想手動執行此操作時,可以將該文件作爲預處理讀取,然後執行數據按摩,然後將該字符串讀取器提供給您的opencsv。這是一個乾淨的方法,但是當你有一個限制時,你必須解決它。 – muruga