java 对CSV 文件的读取与生成
CSV文件是以逗号分隔值的文件格式,一般用WORDPAD或记事本(NOTE),EXCEL打开。CSV(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式,对于CSV文件的读取与生成其实很简单,只要读取的时候用(,)进行切割就可以获得相应的列元素,在生成的时候不同的列元素之间加上(,)
demo如下:
//读取CSV文件
public void readCsvFile(String fileName) throws IOException {
BufferedReader bufferedReader=null;
try{
bufferedReader=new BufferedReader(new FileReader(fileName));
String line=null;
while(null!=(line=bufferedReader.readLine())){
String[] lines = line.split(",");
logger.info("这就是文件的内容"+ Arrays.toString(lines));
}
}catch (IOException e){
throw new IOException(e);
}finally {
if(bufferedReader!=null){
try {
bufferedReader.close();
} catch (IOException e) {
logger.error("输入流关流出现异常",e);
}
}
}
}
//生产CSV文件
public static void writerCsvFile(String fileName, List<String[]> list) throws IOException {
BufferedWriter bufferedWriter=null;
try{
bufferedWriter= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName),"GBK"));
for (String[] s:list) {
for (int i=0;i<s.length;i++){
bufferedWriter.write(s[i]);
bufferedWriter.write(",");
}
bufferedWriter.newLine();//记得换行
}
}catch (IOException e){
throw new IOException(e);
}finally {
if(bufferedWriter!=null){
try {
bufferedWriter.close();
} catch (IOException e2) {
logger.error("输出流关流出现异常",e2);
}
}
}
}
值得注意的是:在进行生成CSV文件的时候,对于长的数字组成的字符串的写入,CSV会自动进行数字化转换,即科学计数法,对于要不要处理,还是根据需求来定
如果是想直观的双击打开就不要进行转换的话,就要在写入的时候,告诉CSV,我不是写的数字,可以进行再写的时候拼接\t,;等信息
如果生成的CSV文件,也是使用的输入流进行读取的话,不用做处理,会自动进行识别,因为这个是CSV文件的格式
java 对CSV 文件的读取与生成的更多相关文章
- Java从.CSV文件中读取数据和写入
.CSV文件是以逗号分割的数据仓储,读取数据时从每一行中读取一条数据元祖,也就是一条数据,再用字符分割的方式获取表中的每一个数据项. import java.io.BufferedReader; ...
- mac 下做csv文件的读取与生成的 遇到的坑
mac下每次读取就把所有的行都读出来了,其实windows下是正常的. 错误原因是逗号的识别方式不对
- java 操作 csv文件
CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件中,数据“栏”以逗号分隔,可允许程序通 ...
- Python对于CSV文件的读取与写入
今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python情有独钟,顿时心血来潮,决定小搞他一下,分享给那些需要的小白 ...
- 深度学习原理与框架-递归神经网络-时间序列预测(代码) 1.csv.reader(进行csv文件的读取) 2.X.tolist(将数据转换为列表类型)
1. csv.reader(csvfile) # 进行csv文件的读取操作 参数说明:csvfile表示已经有with oepn 打开的文件 2. X.tolist() 将数据转换为列表类型 参数说明 ...
- 图像处理项目——生成csv文件提高读取效率
利用pyhton脚本生成csv文件 *开发环境为windows PyCharm*使用的是pyhton脚本*生成人脸和人脸对应的标签的csv文件 一:主要步骤 1.载入对应路径2.提取每一张图片对应的位 ...
- scala/java等其他语言从CSV文件中读取数据,使用逗号','分割可能会出现的问题
众所周知,csv文件默认以逗号","分割数据,那么在scala命令行里查询的数据: 可以看见,字段里就包含了逗号",",那接下来切割的时候,这本应该作为一个整体 ...
- Java操作csv文件
以前就一直很想搞懂一个问题就是java如何读取和写入csv文件,现在要花时间总结一波. 主要使用的javaCSV.jar javaCSV API:http://javacsv.sourceforge. ...
- 如何用Java解析CSV文件
首先看一下csv文件的规则: csv(Comma Separate Values)文件即逗号分隔符文件,它是一种文本文件,可以直接以文本打开,以逗号分隔.windows默认用excel打开.它的格式包 ...
随机推荐
- JVM伪共享
CPU缓存中的cache line缓存行是缓存的最小单位,同一个时刻内只允许一个cpu内核进行操作.一般,缓存行的大小为64字节,这样的大小可以存放多个java对象的对象头.因此,当两个不同的线程同时 ...
- map函数和reduce函数、filter函数的区别
①从参数方面来讲:map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数.reduce()函数 ...
- arya-sites模块的主要类
Site类,生成路由, - 方法:url,get_urls, register, login,logout - 字段:_registry = {} Config,基础配置类,主要用 ...
- thinkphp5的mkdir() Permission denied问题
最近一直在用tp5写项目,在此遇到的问题也比较多.今天来谈谈“mkdir() Permission denied”错误. 你如果不仅仅写代码,还得部署到线上,那么这个tp5的这个错误,你有很大概率会遇 ...
- mysql 数据备份 crontab
每天凌晨 2 点备份数据 crontab -e 0 2 * * * mysqldump ${mysqldir}/bin/mysqldump -h$host -P$port -uadmin -p&qu ...
- Ubuntu 16.04LTS安装Nginx
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev ...
- 3.修改更新源sources.list,提高软件下载安装速度(2017.04.05)
2017年4月5日再次更新源 1.切换到root用户(如果已经是root用户就直接看第二步) dnt@HackerKali:~$ su 密码: 2.用文本编辑器打开sources.list,手动添加下 ...
- c malloc分配内存
php中的内存分配有用类似emalloc这样的函数,emalloc实际上是C语言中的malloc的一层封装,php启动后,会向OS申请一块内存,可以理解为内存池,以后的php分配内存都是在这块内存池中 ...
- Oracle 数据库维护管理之--dbms_lock
1.查询相关的v$视图,但是提示表或视图不存在解决办法 原因是使用的用户没有相关的查询权限导致 解决办法: grant select any dictionary to 用户; --这 ...
- activiti插件安装-离线安装
直接选择离线安装,在线因为网络问题,一直提示失败. 一.下载插件Activiti BPMN 2.0 designer 链接: https://pan.baidu.com/s/1gKBHZFnmNJx7 ...