1 背景
实际工作中,很多数据都存在csv文件中,使用 java语言开发的时候,有的时候需要读取文件,或者将csv文件导入到数据库中。commons-csv作为三方类库,简化了读取操作
2 应用
2.1 引入pom
文章使用1.9.0版本
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.9.0</version>
</dependency>
2.2 API应用
2.2.1 关于表头的思考
什么是表头,注明每一列数据代表的含义,这个很重要
csv文件有两种关于表头的应用,或者可以说玩法
csv文件第一行是表头
csv表头放在其它文件
2.2.2 csv文件第一行是表头
map就是一行数据 key是列名, value是具体的值,接下来你可以根据自己的业务处理了
File file = new File(csv);
CSVFormat format = CSVFormat.DEFAULT.withHeader();
InputStreamReader isr = new InputStreamReader(new FileInputStream(f), "UTF-8");
CSVParser records = new CSVParser(isr, format);
for (CSVRecord record : records) {
Map<String, String> map = record.toMap();
}
2.2.3 csv表头放在其它文件
File file = new File(csv);
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file),"UTF-8");
Iterable<CSVRecord> records = CSVFormat.RFC4180.withHeader("表头").parse(inputStreamReader);
for (CSVRecord csvRecord : records) {
Map<String, String> map = csvRecord.toMap();
}