一. CSV文件简介
CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。
CSV 是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。
二.Java读取CSV文件 pom.xml配置
<!-- https://mvnrepository.com/artifact/com.univocity/univocity-parsers --> <dependency> <groupId>com.univocity</groupId> <artifactId>univocity-parsers</artifactId> <version>2.9.1</version> </dependency>
三.Java代码实现读取
import com.univocity.parsers.common.processor.RowListProcessor;
import com.univocity.parsers.csv.CsvParser;
import com.univocity.parsers.csv.CsvParserSettings;
import java.io.File;
import java.util.Arrays;
import java.util.List;
/**
* @ClassName UnivocityReadCsv
* @Desc 使用Univocity解析CSV文件
* @Author diandian
* @Date 2022/1/4 21:53
**/
public class UnivocityReadCsv {
public List<String[]> parseCSV(String fileName){
//创建一个配置选项,用来提供多种配置选项
CsvParserSettings parserSettings = new CsvParserSettings();
//打开解析器的自动检测功能,让它自动检测输入中包含的分隔符
parserSettings.setLineSeparatorDetectionEnabled(true);
//创建RowListProcessor对象,用来把每个解析的行存储在列表中
RowListProcessor rowListProcessor = new RowListProcessor();
parserSettings.setProcessor(rowListProcessor); //配置解析器
//待解析的CSV文件包含标题头,把第一个解析行看作文件中每个列的标题
parserSettings.setHeaderExtractionEnabled(true);
parserSettings.setLineSeparatorDetectionEnabled(true);
//创建CsvParser对象,用于解析文件
CsvParser parser = new CsvParser(parserSettings);
parser.parse(new File(fileName));
//如果解析中包含标题,用于获取标题
String[] headers = rowListProcessor.getHeaders();
//获取行值,并遍历打印
List<String[]> rows = rowListProcessor.getRows();
/*for(int i = 0; i < rows.size(); i++){
System.out.println(Arrays.asList(rows.get(i)));
}*/
return rows;
}
public static void main(String[] args) {
UnivocityReadCsv readCsv = new UnivocityReadCsv();
List<String[]> list = readCsv.parseCSV("doc/nba.csv");
for(int i = 0; i < list.size(); i++){
System.out.println(Arrays.asList(list.get(i)));
}
}
}数据读取之后,就可以做其他处理!
最后感谢诸君的支持,对你有帮助的话,请点赞支持一下!
在此,祝福大家2022年春节快乐!
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
