Java环境下使用CsvReader()读取CSV文件

简介: Java环境下使用CsvReader()读取CSV文件

🐓CSV文件是什么

CSV 代表逗号分隔值,是一种非常流行的文件类型。CSV文件用于存储由逗号分隔的信息。文件的每一行都用于表示一个数据记录。

🐓CSV文件的读取

🚩进行CSV文件的解析

  private List<CsvRow> getCsvFile(String filePath) {
        //新建一个CsvReadConfig配置对象
        CsvReadConfig csvReadConfig = new CsvReadConfig();
        //新建一个CsvReader对象
        CsvReader csvRows = new CsvReader(csvReadConfig);
        //初始化数据
        CsvData read = null;
            read = csvRows.read(new File(filePath), CharsetUtil.CHARSET_UTF_8);
        //读取数据
        List<CsvRow> rows = read.getRows();
        return rows;
    }


🚩Hutool包中的CsvReadConfig配置类(可以动态设置开始和结束)

import java.io.Serializable;
 
public class CsvReadConfig extends CsvConfig<CsvReadConfig> implements Serializable {
    private static final long serialVersionUID = 5396453565371560052L;
    protected long headerLineNo = -1L;
    protected boolean skipEmptyRows = true;
    protected boolean errorOnDifferentFieldCount;
    protected long beginLineNo;
    protected long endLineNo = 9223372036854775806L;
    protected boolean trimField;
 
    public CsvReadConfig() {
    }
 
    public static CsvReadConfig defaultConfig() {
        return new CsvReadConfig();
    }
 
    public CsvReadConfig setContainsHeader(boolean containsHeader) {
        return this.setHeaderLineNo(containsHeader ? this.beginLineNo : -1L);
    }
 
    public CsvReadConfig setHeaderLineNo(long headerLineNo) {
        this.headerLineNo = headerLineNo;
        return this;
    }
 
    public CsvReadConfig setSkipEmptyRows(boolean skipEmptyRows) {
        this.skipEmptyRows = skipEmptyRows;
        return this;
    }
 
    public CsvReadConfig setErrorOnDifferentFieldCount(boolean errorOnDifferentFieldCount) {
        this.errorOnDifferentFieldCount = errorOnDifferentFieldCount;
        return this;
    }
 
    public CsvReadConfig setBeginLineNo(long beginLineNo) {
        this.beginLineNo = beginLineNo;
        return this;
    }
 
    public CsvReadConfig setEndLineNo(long endLineNo) {
        this.endLineNo = endLineNo;
        return this;
    }
 
    public CsvReadConfig setTrimField(boolean trimField) {
        this.trimField = trimField;
        return this;
    }
}


相关文章
|
Python
python文件的打开、读取、关闭、写入与二进制文件的读写操作
python文件的打开、读取、关闭、写入与二进制文件的读写操作
2310 0
python文件的打开、读取、关闭、写入与二进制文件的读写操作
|
1月前
|
安全 Windows
windows系统中,通过LOAD到入csv格式的文件到neo4j中,如何写文件路径
windows系统中,通过LOAD到入csv格式的文件到neo4j中,如何写文件路径
41 0
|
2月前
|
SQL 关系型数据库 MySQL
Python小技巧——将CSV文件导入到MySQL数据库
Python小技巧——将CSV文件导入到MySQL数据库
54 0
|
6月前
|
数据采集 存储 人工智能
Python采集数据保存CSV文件内容乱码解决
Python采集数据保存CSV文件内容乱码解决
86 1
|
算法 数据处理 Python
python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例
在处理多个相同格式的文件时,python中的许多模块可以为我们提供很多遍历。 比如,我们想读取一个文件夹下多个相同格式的文件时 可以使用os模块,
python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例
|
6月前
|
Python
python对 ini 文件的读取
python对 ini 文件的读取
|
Java 关系型数据库 MySQL
SpringBoot 导出多个Excel文件,压缩成.zip格式下载
SpringBoot 导出多个Excel文件,压缩成.zip格式下载
896 0
SpringBoot 导出多个Excel文件,压缩成.zip格式下载
|
存储 XML 数据格式
python读取python读取s3存储文件下载
python读取python读取s3存储文件下载
582 0
python将目录下的所有文件夹以及文件写进excle表格中
python将目录下的所有文件夹以及文件写进excle表格中
|
存储 数据挖掘 数据库
下一篇
无影云桌面