博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
commons-csv的基本操作
阅读量:2169 次
发布时间:2019-05-01

本文共 1744 字,大约阅读时间需要 5 分钟。

本文主要介绍一些关系CSV的基本操作。

commons-csv 由两大核心对象组成 CSVParser(解析),CSVPrinter(写csv)下面附上工具类,以及测试类

package com.csv.demo;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import org.apache.commons.csv.CSVFormat;import org.apache.commons.csv.CSVParser;import org.apache.commons.csv.CSVPrinter;public class CSVUtils{	public static CSVParser getCSVParser(String filePath) throws IOException	{		CSVFormat format = CSVFormat.DEFAULT.withHeader();		InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "UTF-8");		return new CSVParser(isr, format);	}	public static CSVPrinter getCSVPrinter(String filePath) throws IOException	{		CSVFormat format = CSVFormat.DEFAULT.withRecordSeparator("\n");		OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(filePath), "UTF-8");		return new CSVPrinter(osw, format);	}}
测试类:演示将一个CSV写到另一个CSV

package com.csv.demo;import java.io.IOException;import java.util.Iterator;import org.apache.commons.csv.CSVParser;import org.apache.commons.csv.CSVPrinter;import org.apache.commons.csv.CSVRecord;import org.apache.commons.io.IOUtils;public class Test{	public static void main(String[] args) throws IOException	{		CSVParser parser = CSVUtils.getCSVParser("D://demo01.csv");		CSVPrinter printer=CSVUtils.getCSVPrinter("D://demo02.csv");		Iterator
iterator = parser.iterator(); printer.printRecord(parser.getHeaderMap().keySet());//写CSV第一行 while(iterator.hasNext()) { printer.printRecord(iterator.next()); } IOUtils.closeQuietly(parser); IOUtils.closeQuietly(printer); }}
CSVRecord有一个比较常用的方法get(String name),可以选取CSV的某一列进行读写,只需指定首列字段名称即可。

转载地址:http://keazb.baihongyu.com/

你可能感兴趣的文章
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>
为什么在优化算法中使用指数加权平均
查看>>
什么是 Q-learning
查看>>
用一个小游戏入门深度强化学习
查看>>
如何应用 BERT :Bidirectional Encoder Representations from Transformers
查看>>
5 分钟入门 Google 最强NLP模型:BERT
查看>>
强化学习第1课:像学自行车一样的强化学习
查看>>
强化学习第2课:强化学习,监督式学习,非监督式学习的区别
查看>>
强化学习第3课:有些问题就像个赌局
查看>>
强化学习第4课:这些都可以抽象为一个决策过程
查看>>
强化学习第5课:什么是马尔科夫决策过程
查看>>
强化学习第6课:什么是 Crossentropy 方法
查看>>
强化学习第7课:交叉熵方法的一些局限性
查看>>
强化学习 8: approximate reinforcement learning
查看>>
图解什么是 Transformer
查看>>
代码实例:如何使用 TensorFlow 2.0 Preview
查看>>
6 种用 LSTM 做时间序列预测的模型结构 - Keras 实现
查看>>
走进JavaWeb技术世界1:JavaWeb的由来和基础知识
查看>>
走进JavaWeb技术世界2:JSP与Servlet的曾经与现在
查看>>