本篇分享讲展示如何在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文件的数据,最后按行输出其内容。
运行以上程序,其输出的内容如下:
本次分享到此结束,欢迎大家交流~~