java处理CSV文件

文章目录

  • [1. 方法](#1. 方法)
  • [2. maven依赖](#2. maven依赖)
  • [3. 示例代码](#3. 示例代码)

1. 方法

  • opencsv-->CSVParser
  • commons-csv-->CSVReader;有时候文本里有逗号可能会导致错误分割

2. maven依赖

复制代码
 <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-csv</artifactId>
        <version>1.8</version>
  </dependency>

<dependency>
	<groupId>com.opencsv</groupId>
	<artifactId>opencsv</artifactId>
	<version>3.3</version>
</dependency>

3. 示例代码

  • CSVReader 读取CSV
csharp 复制代码
		CSVReader reader = new CSVReader(new FileReader(path));
		String[] nextLine;
		while ((nextLine = reader.readNext()) != null) {
		    logger.info(nextLine[0]);
//		    logger.info(nextLine[1]);
//		   有几列可以读取几列。。。。
		}
		reader.close();
  • CSVParser 读取CSV
csharp 复制代码
try (CSVParser parser = CSVParser.parse(new File(path), Charset.forName("UTF-8"), CSVFormat.DEFAULT.withHeader())) {
		for (CSVRecord record : parser) {
			logger.info(record.get(0));
//			String col1 = record.get("1");
//		    有几列可以读取几列。。。。
		// ...
		}
} catch (IOException e) {
	e.printStackTrace();
}
相关推荐
weixin_44073050几秒前
python+request实现接口-参数化小结
开发语言·python
CHHH_HHH6 分钟前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu
yngsqq15 分钟前
窗体快速取消
java·开发语言
岁月如歌778620 分钟前
一次讲透 Redis 缓存击穿、穿透、雪崩,从原理到实战解决方案
java·后端·架构
Logintern0939 分钟前
Celery 死信队列 Dead‑Letter Queue(DLQ)
python
Python私教43 分钟前
四个入口,一条流水线:如意智影的多入口架构取舍
人工智能·python·架构
XiaQ091943 分钟前
Linux 常用命令学习笔记(用户管理篇):用户、组与权限的钥匙
linux·开发语言·笔记·学习
不可求~1 小时前
C++ 报错交给 AI 之前,先准备好这 8 类信息
开发语言·c++·人工智能
名字还没想好☜1 小时前
用 Python struct 解析二进制协议:pack/unpack、字节序与对齐踩坑
开发语言·python·二进制·struct
AI多Agent协作实战派1 小时前
AI多Agent协作系统实战(四十六):改了十次规则,AI员工还是老样子——会话缓存的坑
java·spring·缓存