Apache Commons 读写 CSV 文件

文章目录

一、Maven 引入

xml 复制代码
        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-csv</artifactId>
            <version>1.8</version>
        </dependency>

二、代码实现

java 复制代码
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class ReadCsvNW {

    public static void main(String[] args) {
        try {
            InputStream inputStream = Files.newInputStream(Paths.get("D:\\Documents\\2024-06-16.zip"));
            ZipInputStream zis = new ZipInputStream(inputStream);
            ZipEntry entry;
            while ((entry = zis.getNextEntry()) != null) {
                if (!entry.isDirectory() && entry.getName().endsWith(".csv")) {

                    BufferedReader reader = new BufferedReader(new InputStreamReader(zis, "GBK"));
                    CSVParser csvParser = new CSVParser(reader, CSVFormat.EXCEL.withFirstRecordAsHeader());

                    if (entry.getName().equals("hehe.csv")) {
                        for (CSVRecord record : csvParser) {
                            // 方式一:通过下角标获取值
                            System.out.println("数据行:" + record.get(5));
                            // 方式一:通过表头列名获取值
                            System.out.println("数据行:" + record.get("name"));
                        }
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

参考:使用Apache Commons CSV在Java中读写CSV

相关推荐
weixin_462446236 小时前
Java 使用 Apache Batik 将 SVG 转换为 PNG(指定宽高)
java·apache·svg转png
学习3人组6 小时前
Apache Superset开源现代化数据BI工具
开源·apache
SelectDB技术团队7 小时前
AI 能力揭秘(五):Apache Doris 原生向量检索的设计及实现
人工智能·apache
Apache IoTDB7 小时前
Apache IoTDB V2.0.6/V1.3.6 发布|新增查询写回功能,优化查询与同步性能
apache·iotdb
世界尽头与你1 天前
CVE-2025-48976_ Apache Commons FileUpload 安全漏洞
网络安全·渗透测试·apache
世界尽头与你1 天前
CVE-2007-6750_ Apache HTTP Server 资源管理错误漏洞
安全·网络安全·渗透测试·apache
Knight_AL1 天前
Apache Flink 窗口处理函数全解析(增量 + 全量 + 混合)
大数据·flink·apache
默默在路上1 天前
apache-hive-3.1.3 show databases;报错
hive·hadoop·apache
lkbhua莱克瓦241 天前
Apache Maven全面解析
java·数据库·笔记·maven·apache
slongzhang_1 天前
从0配置Apache+PHP+SSL开发环境
php·apache·ssl