Commons CSV 示例:旧版标题用法

CSV
本文将介绍在旧版本的 Commons CSV 中,这样给 CSV 自定义头部字段,然后利用这些头部字段访问数据。

本文将介绍在旧版本的 Commons CSV 中,这样给 CSV 自定义头部字段,然后利用这些头部字段访问数据。步骤如下:

(1)通过 CSVFormat 的 withHeader() 方法设置头部字段,接收一个字符数组;

(2)通过 CSVRecord 的 get(String name) 方法获取数据;

示例代码

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVRecord;
import java.io.FileReader;
import java.io.Reader;
import java.net.URL;

/**
 * 旧版本 commons csv 使用默认格式解析 CSV 文件,通过 withHeader() 方法自定义头部映射
 * @author hxstrive.com 2021/12/26
 */
public class OldCsvDemo1 {

    public static void main(String[] args) throws Exception {
        URL url = OldCsvDemo1.class.getResource("/demo.csv");
        Reader in = new FileReader(url.getFile());

        // 使用 withHeader() 方法映射 csv 头
        Iterable<CSVRecord> records = CSVFormat.DEFAULT.withHeader(
                "姓名", "性别", "年龄", "部门", "薪水", "入职日期").parse(in);
        for (CSVRecord record : records) {
            // 姓名,性别,年龄,部门,薪水,入职日期
            System.out.printf("%s\t%s\t%s\t%s\t%s\t%s\n",
                    record.get("姓名"),
                    record.get("性别"),
                    record.get("年龄"),
                    record.get("部门"),
                    record.get("薪水"),
                    record.get("入职日期")
            );
        }
    }

}

注意:

在 Commons CSV 1.9+ 之后,不在建议使用 withHeader() 方法,而是采用 CSVFormat.Builder 的 setHeader() 方法。例如:

CSVFormat.DEFAULT.builder()
    .setHeader("H1", "H2", "H3")
    .build();
人生就像赛跑,不在乎你是否第一个到达终点,而在乎你有没有跑完全程。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号