Java 解析CSV文件

十一匆匆的就过去了,OneCoder过的也是有点恍惚。不知道都做了什么,心却有点散。做一篇翻译,权当收收心,找找感觉吧。

 
在之前发布的博文里我提到,我最近正在把一些neo4j数据加载的代码从Ruby迁移到Java,因此作为这个过程中的一步,我需要解析一些CSV文件。
 
在Ruby中,我使用FasterCSV进行解析。FasterCSV已经是Ruby1.9中的标准的CSV库。但是,我必须用Java代码去解析CSV文件,所以我不知道该用什么库。
 
我需要一个可以解析用逗号分割的文件内容的库,这里逗号还有可能是其中某部分的一个值。我认为这是任何CSV解析库的最普通标准的特性,不过通过google,我找到了OpenCSV。
 
在这里可以下载到OpenCSV,到目前为止它做的还不错。
 
下面是我使用的一个例子:
String filePath = "/Users/mneedham/data/awesome-csv-file.csv";
CSVReader reader = new CSVReader(new FileReader(filePath), ',');

List<String[]> csvEntries = reader.readAll();
Iterator<String[]> iterator = csvEntries.iterator();

while (iterator.hasNext()) {
    String[] row = iterator.next();
    System.out.println("field 1: " + row[0]);
}

在它的项目主页中有更多使用场景的莉子。

Thanks a lot.