2014-01-08 40 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); 
    }