jianghuchuanke 2019-06-27
本篇分享讲展示如何在Groovy中读取CSV文件。
我们可以使用Groovy中的 Apache Commons CSV库来读取CSV文件,其jar包的下载地址为: http://mvnrepository.com/arti... ,其官方文档的网址为:http://commons.apache.org/pro... . 在Groovy中,我们并不需要下载这个jar包,只需要使用@Grab()告诉程序来自动下载该jar包即可,这是Groovy语言的优点之一。
我们将要读取的本地CSV文件:foo.csv的内容如下:
以下的Groovy代码将具体展示如何使用Apache Commons CSV库来读取本地的CSV文件:
//import packages import java.io.File // use @Grab() to download CSV package @Grab('org.apache.commons:commons-csv:1.2') import static org.apache.commons.csv.CSVFormat.RFC4180 // get csv file def file = new File('/home/vagrant/foo.csv') // read the header of csv file def header = RFC4180.withHeader() .parse(file.newReader()) .getHeaderMap().keySet() // print the header for(item in header){ print item print '\t' } println '' // read records and handle data by row RFC4180.withHeader() .parse(file.newReader()) .iterator().each { record -> def cols = record.mapping.keySet() for(item in cols){ print record.get(item) print '\t' } println '' }
在以上的Groovy代码中,我们使用java的io.File来读取本地文件,使用Apache Commons CSV库来具体处理CSV文件,使用CSV文件格式的RFC4180的标准,该标准具体说明可参考网址:https://tools.ietf.org/html/r... .我们先读取该CSV文件的表头,再读取该CSV文件的数据,最后按行输出其内容。
运行以上程序,其输出的内容如下:
本次分享到此结束,欢迎大家交流~~