我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java是怎样读取CSV的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java是怎样读取CSV的

这篇文章给大家分享的是有关Java是怎样读取CSV的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

看项目中以前的处理方式是直接用用java IO类库读取Csv文件,实际处理中发现Csv文件本身包含了对各种特殊字符的处理信息。最常见的比如:

对包含特殊字符的字符串数据首尾加双引号

对数据中的单个双引号前加单个双引号

其它...

所以用Java IO读到的字符串全是经过处理后的字符串,在某些场景下是不符合预期需求的。比如我需要的是不做任何处理的原始内容。

项目中另一种常见的文件格式Excel用了POI来处理,但是POI不支持Csv格式,于是找到了javacsv。

代码很简单:

Java代码

public List importCsv(String file)   {  List list = new ArrayList();  CsvReader reader = null;  try   {  //初始化CsvReader并指定列分隔符和字符编码  reader = new CsvReader(file, ',', Charset.forName("GBK"));  while (reader.readRecord())   {  //读取每行数据以数组形式返回  String[] str = reader.getValues();  if (str != null && str.length > 0)   {  if (str[0] != null && !"".equals(str[0].trim()))   {  list.add(str);  }  }  }  }   catch (FileNotFoundException e) {  log.error("Error reading csv file.",e);  }   catch (IOException e)   {  log.error("",e);  }  finally {  if(reader != null)  //关闭CsvReader  reader.close();  }  return list;  }

以上代码有几个要点:

1 初始化CsvReader时指定分隔符和字符编码,如果不指定,默认分别为逗号和ISO-8859-1,我用了GBK,具体使用时要看当时的字符编码而定。

2 读取每行数据,返回字符串数组,数组内的顺序即文件数据列的顺序

3 ***记得关闭CsvReader

是不是很简单,返回的数组格式也正好是我想要的,而且拿到是原始的数据,没有经过特殊字符处理。

有些同学质疑特殊字符未经处理,插到数据库会出错,其实大可不必我们手工处理,一些基础组件比如JDBC的preparedstatement已经包含了对特殊字符的处理,我们只要以绑定参数的形式来传送这些包含特殊字符的数据就可以。常用的持久化框架底层也封装了JDBC,自然也对特殊字符做了处理。

感谢各位的阅读!关于“Java是怎样读取CSV的”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java是怎样读取CSV的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java是怎样读取CSV的

这篇文章给大家分享的是有关Java是怎样读取CSV的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。看项目中以前的处理方式是直接用用java IO类库读取Csv文件,实际处理中发现Csv文件本身包含了对各种特殊字符
2023-06-17

java读取csv文件乱码怎么解决

csv文件默认编码为ANSI,java读取CSV出现乱码主要是编码不一致问题。(推荐:java视频教程)DataInputStream in = new DataInputStream(new FileInputStream(new File("d:\*.cs
java读取csv文件乱码怎么解决
2020-07-07

Pandas读取csv的实现

本文主要介绍了Pandas读取csv的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-15

python怎么读取csv文件

在Python中,可以使用csv模块来读取CSV文件。下面是读取CSV文件的基本步骤:导入csv模块:import csv打开CSV文件:使用open()函数打开CSV文件,并指定文件路径和打开模式。创建csv.reader对象:使用c
python怎么读取csv文件
2024-02-29

hadoop怎么读取csv文件

Hadoop本身并不直接支持CSV文件的读取,但可以通过Hadoop的MapReduce框架或Hive等工具来读取CSV文件。使用MapReduce框架读取CSV文件:可以编写一个MapReduce程序来读取CSV文件。在Mapper阶段
hadoop怎么读取csv文件
2024-03-02

pycharm怎么读取csv文件

pycharm 中读取 csv 文件的步骤如下:导入 csv 模块。使用 open() 函数打开 csv 文件。使用 csv.reader() 函数读取 csv 文件内容。迭代每一行,以列表形式获取字段数据。处理 csv 文件中的数据,例如
pycharm怎么读取csv文件
2024-04-03

html怎么读取csv文件

可以使用以下方法使用 html 读取 csv 文件:javascript 框架 papa parse:轻松解析 csv 文件,并自动处理配置选项。使用 filereader api:在客户端直接读取本地 csv 文件。使用第三方库,例如 j
html怎么读取csv文件
2024-04-05

c#怎么读取csv文件

如何使用 c# 读取 csv 文件?使用 file.readalllines() 读取所有行。使用 streamreader 逐行读取。使用第三方库(如 csvhelper)简化读取过程。如何使用 C# 读取 CSV 文件CSV(逗号分隔
c#怎么读取csv文件
2024-05-14

java怎么读取csv文件内容并输出

在Java中,可以使用BufferedReader和FileReader类来读取CSV文件内容,并使用System.out.println()方法输出内容。下面是一个简单的示例代码:import java.io.BufferedReade
java怎么读取csv文件内容并输出
2024-03-14

读取极坐标中的 csv

问题内容polars.read_csv 与 polars.read_csv_batched 与 polars.scan_csv 有什么区别?polars.read_csv 看起来等同于 pandas.read_csv 因为它们具有相同
读取极坐标中的 csv
2024-02-09

C++中怎么读取CSV文件

今天就跟大家聊聊有关C++中怎么读取CSV文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。***个函数:计算一个字符串中的某个子串的个数int strstr_cnt(const c
2023-06-17

怎么用Python读取CSV文件

这篇文章主要介绍了怎么用Python读取CSV文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。典型的数据集stocks.csv:一个股票的数据集,其实就是常见的表格数据。有
2023-06-25

Python中Pandas怎么读取文件和读取CSV参数

本篇内容主要讲解“Python中Pandas怎么读取文件和读取CSV参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中Pandas怎么读取文件和读取CSV参数”吧!一、Pandas
2023-07-06

Java实现读取TXT和CSV文件内容

这篇文章主要为大家详细介绍了如何利用Java语言实现读取TXT和CSV文件内容的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2023-02-08

python3.x 读取csv遇到的bu

1、failed to set main.loader兴奋地配置好了Python环境,运行hello.py实例就出现这个异常,着实让人扫兴,百度上搜了下没有找到答案。再去Google了下,发现可能是hello.py文件中包含非英文字符,果然
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录