2014-01-08 113 views
1

讀取CSV文件時,我需要忽略第一行。第一行有CSV的日期和標題,我不需要閱讀。我不得不從第二行開始閱讀。誰能幫幫我嗎?在閱讀Java中的CSVfile時跳過第一行

String csvFilename = "C:\\Data\\csv_files\\REPORT.csv"; 
String filterCSV = "C:\\Data\\csv_files\\Output.csv"; 
CSVWriter write = new CSVWriter(new FileWriter(filterCSV)); 
CSVReader csvR = new CSVReader(new FileReader(csvFilename)); ---- 
List<CSVData> list = csv.parse(col, csvR); 

for (Object object : list) { 
    ------ 
} 
+0

是你寫的類CSVReader嗎? – midhunhk

+0

'list.remove(0);' – iamnotmaynard

回答

1

如果你沒有自己寫的CSVReader類,那麼這個構造函數將跳過該文件的第一行:

CSVReader reader = new CSVReader(new FileReader(file), ',', '\'', 1); 
+0

我正在使用import au.com.bytecode.opencsv.CSVReader; – selson

+0

我會嘗試這些選項並讓您知道結果。感謝您的幫助 – selson

+0

CSVReader reader = new CSVReader(new FileReader(file),',','\'',1); - 按預期工作。 \t \t你能解釋一下'\'是什麼意思嗎? \t \t \t \t ============================================ ===================== \t \t \t我也嘗試使用list.remove(0)。但它給出了空的csv作爲輸出。 \t \t \t 爲\t(Object對象:列表) \t \t { \t \t \t \t \t \t \t CSVData csvdataBean =(CSVData)對象; System.out.println(「List list object」+ csvdataBean.getTransferDate()); = -----它,當我使用list.remove返回null值(0) \t \t } \t \t 由於 – selson

3

很簡單:

List<CSVData> list = csv.parse(col, csvR); 
list.remove(0); 
1

讀取整個數據之前使用BufferedReader使用br.readLine()然後第一行csv文件將被刪除,然後使用readLine()函數讀取其餘內容。

BufferedReader br = new BufferedReader(new FileReader("file.csv")); 
    String line = " "; 
    br.readLine(); 
    while((line=br.readLine())!=null) 
    { 
     System.out.println(line); 
    }