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
随机推荐
- 同一页面中引入多个JS库产生的冲突解决方案(转)
发生JS库冲突的主要原因:与jQuery库一样,许多JS库都使用‘$’符号作为其代号.因此在一个页面中引入多个JS库,并且使用‘$’作为代号时,程序不能识别其代表哪个库(这个是我自己的解释,但更深的原 ...
- spring FactoryBean配置Bean
概要: 实例代码具体解释: 文件夹结构 Car.java package com.coslay.beans.factorybean; public class Car { private String ...
- windowmasker 标记基因组中的重复序列和低复杂度序列
下载地址:ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/windowmasker/ 在这个目录下 其中windowmasker 为linux 平台的可执行文件 win ...
- 修改php上传文件尺寸、响应时间、时区时间等设置
修改php上传文件尺寸.响应时间 1.修改php.ini 1.post_max_size 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M(改为150M),看你自己需要进行 ...
- Win10開始菜单打不开
一.前言 自从用Win10之后(附上<我的Win10之旅>).用清理软件.总是深度清理,导致rt问题. 每次百度都是没用的解决方法: 今天,再一次清理(Wise Care 365 注冊表深 ...
- 动态生成的DOM不会触发onclick事件的原因及解决方法
最近朋友在做一个项目的时候,遇到动态加载微博内容,然后点击“展开评论”后获取该微博的所有评论.这里使用了动态加载的<span mid='123456789′ class='get_comment ...
- C#中汉字轻松得到拼音全文类
public class chs2py { ,-,-,-,-,-,-,-,-,-,-,-,-,-, -,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-, -,-,-,-,-,-,-,-,- ...
- JavaScript 取对象的值时用点和中括号的区别
用点的时候 点后面是对象的真实属性名称, 用中括号的时候 中括号里面是变量或者字符串
- Qt监控Arduino开关状态(读取串口数据)
setup.ini配置文件内容 [General] #游戏所在主机IP GameIp1=192.168.1.151 GameIp2=192.168.1.152 GameIp3=192.168.1.15 ...
- 详解google Chrome浏览器(理论篇)
注解:各位读者,经博客园工作人员反馈,hosts涉及违规问题,我暂时屏蔽了最新hosts,若已经获取最新hosts的朋友们,注意保密,不要外传.给大家带来麻烦,对此非常抱歉!!! 开篇概述 1.详解g ...