JavaCSV之读CSV文件
Java在进行数据处理,有时候难免有进行CSV文件的操作,这里采用了JavaCSV读CSV文件。
1.准备工作
(1)第三方包库下载地址:https://sourceforge.net/projects/javacsv
(2)相关文档:http://javacsv.sourceforge.net
2.使用简单的读操作
(1)引入javacsv包相应的类
import com.csvreader.CsvReader;
(2)创建文件路径
String file = "src/com/test/csv/test.csv"; // 注意路径,这里是相对路径
(3)创建CSV读对象
// 创建CSV读对象(文件路径,分隔符,编码格式)
CsvReader csvReader = new CsvReader(file, ',', Charset.forName("UTF-8"));
(4)设置标题(非常重要),可以理解为把第一行设置为标题,如果不设置,csvReader.readRecord()将从标题行开始读取,因此有关标题、列的函数将无法使用,如getHeaders()、get("字段名")
csvReader.readHeaders();
(5)读取
while (csvReader.readRecord()){
// 读一整行
System.out.println(csvReader.getRawRecord());
// 读某一列
System.out.println(csvReader.get("id"));
}
(6)关闭
// 关闭
csvReader.close();
csv文件(test.csv):

测试(demo.java):
package com.test.csv; import com.csvreader.CsvReader;
import java.io.IOException;
import java.nio.charset.Charset; public class demo {
public static void main(String[] args) {
String file = "src/com/test/csv/test.csv"; try {
// 创建CSV读对象(文件路径,分隔符,编码格式)
CsvReader csvReader = new CsvReader(file, ',', Charset.forName("UTF-8")); // 跳过表头 如果需要表头的话,这句可以忽略
csvReader.readHeaders(); // 可以理解为把第一行设置为标题,如果不设置,将无法使用getHeaders()、get("id") while (csvReader.readRecord()){
// 读一整行
System.out.println(csvReader.getRawRecord()); } // 关闭
csvReader.close(); } catch (IOException e) {
e.printStackTrace();
} }
}
截图:

3.相关函数
查看:http://javacsv.sourceforge.net/
(1)获取标题,返回时String数组
// 1.获取标题,返回时String数组
csvReader.getHeaders(); // 输出
for(String s : headerList){
System.out.println(s);
}

(2)获取列数
// 获取列数
csvReader.getHeaderCount();
JavaCSV之读CSV文件的更多相关文章
- JavaCSV之写CSV文件
与JavaCSV读CSV文件相对应,JavaCSV也可以用来写数据到CSV文件中. 1.准备工作 (1)第三方包库下载地址:https://sourceforge.net/projects/javac ...
- 用python3读CSV文件,出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid con
使用pd.read_csv()读csv文件时,出现如下错误: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd0 in position ...
- pandas 读csv文件 TypeError: Empty 'DataFrame': no numeric data to plot
简单的代码,利用pandas模块读csv数据文件,这里有两种方式,一种是被新版本pandas遗弃的Series.from_csv:另一种就是pandas.read_csv 先说一下问题这个问题就是在读 ...
- 读CSV文件并写arcgis shp文件
一.在这里我用到的csv文件是包含x,y坐标及高程.降雨量数据的文件.如下图所示. 二.SF简介 简单要素模型(Simple Feature,SF),是 OGC 国际组织定义的面向对象的矢量数据模型. ...
- 读CSV文件
/// <summary> /// 读取csv文件 /// </summary> /// <param name="csvPath">strin ...
- 用python3读csv文件出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte
1.python3读取csv文件时报如下图所示的错误 2.分析原因:读取的csv文件不是 UTF8 编码的,而IDE工具默认采用 UTF8 解码.解决方法是修改源文件的解码方式. 3.使用nodepa ...
- python 读csv文件对列名进行合法性验证
如果正在读取CSV 数据并将它们转换为命名元组,需要注意对列名进行合法性认证.例如,一个CSV 格式文件有一个包含非法标识符的列头行,这样最终会导致在创建一个命名元组时产生一个ValueError 异 ...
- python 读csv文件时,在csv类型上执行类型转换
csv 产生的数据都是字符串类型的,它不会做任何其他类型的转换.如果需要做这样的类型转换,必须自己手动去实现 import csv,re from collections import namedtu ...
- PLSQL_PLSQL读和写CSV文件方式(案例)
2012-01-06 Created By BaoXinjin
随机推荐
- “Chaos”的算法之Floyd算法
倘若我们要在计算机上建立一个交通咨询系统则可以采用图的结构来表示实际的交通网络.其实现最基本的功能,求出任意两点间的最短路径, 求最短路径的经典方法有很多种,最常用的便是迪杰斯特拉算法和佛洛依德(Fl ...
- asp.net mvc中用angularJs写的增删改查的demo。初学者,求指点。。
直接给个代码下载链接.... http://pan.baidu.com/s/1FfVgq 本人刚刚学习angularJs,感觉双向数据绑定蛮爽的... 之前的代码存在点问题,已修复
- BDIP和BVLC纹理分析
Young Deok Chun 等人提出了基于 BVLC 矩和 BDIP 矩的一种纹理分析方法.BVLC 能显示粗糙和光滑特性,BDIP 能够很好的提取波谷和边缘.它们直接在彩色空间上进行处理,能有效 ...
- 【matlab】输出显示函数 sprintf()&disp()
disp()功能类似于c语言中的print:java语言中的System.out.println(): Matlab的disp()函数 : 1.输出字符串: >>disp('my tes ...
- matlab imresize 改变图像大小
功能:改变图像的大小. 用法:B = imresize(A,m)B = imresize(A,m,method)B = imresize(A,[mrows ncols],method) B = imr ...
- 使用tensorflow深度学习识别验证码
除了传统的PIL包处理图片,然后用pytessert+OCR识别意外,还可以使用tessorflow训练来识别验证码. 此篇代码大部分是转载的,只改了很少地方. 代码是运行在linux环境,tesso ...
- c#接口作为参数传递、返回
接口做为参数传递,传递的是实现了接口的对象: 接口作为类型返回,返回的是实现了接口的对象. 接口的传递与返回就是围绕着上面的两句话展开的.
- jdk版本不一致问题
Exception in thread "main" java.lang.UnsupportedClassVersionError: cn/com/TestApp : Unsupp ...
- Python 入门(二)Unicode字符串
Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节 (byte),所以,一 ...
- MongoDB启动报错
启动mongodb的时候报错: [root@localhost bin]# ./mongod --dbpath /usr/java/mongoNode/data/db --logpath /usr/j ...