问题标签 [apache-commons-csv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4539 浏览

java - Apache CSV 解析器无法处理带引号的制表符分隔数据

我想解析一份 Google 电子书交易报告。我在 Notepad++ 中打开它以准确查看归档和记录分隔符。它是一个制表符分隔的文件,每个标题字段和数据字段都用引号引起来。CSV 文件的前两行是:

我使用以下代码解析 CSV 文件:

当我调试解析过程时,我可以看到 record.get("Author") 引发了运行时异常:

显然我有名为作者的列。知道出了什么问题吗?

0 投票
3 回答
2723 浏览

java - 忽略Apache Commons CSV / OpenCSV中引号括起来的字段中的分隔符?

我必须解析一个 csv 文件,该文件具有如下所示的字段:

并产生两个字段:

我不确定如何使用 Apache Commons CSV 或 OpenCSV 简洁地做到这一点,所以我正在寻找一些指导。可能只是我不完全理解文档中提到org.apache.commons.csv.CSVFormat的属性“quoteChar” ,但在我能找到的任何地方都没有清楚地解释过。如果是这样,如果您能指出我对该功能的更好文档,那将非常有帮助。

这是一个简短的示例,显示了我的问题以及我尝试过的内容和结果:

请注意,如果您从输入中排除括号,它可以正常工作。

0 投票
1 回答
3086 浏览

java - 引号内 CRLF 的 EoF 错误(common-csv)

从 hdfs 读取 csv 时出现以下错误 -
java.lang.RuntimeException: java.io.IOException: (startline 1) EOF reached before encapsulated token finished
当我查看 csv 文件时发现列中的 CRLF(换行符)导致此错误。
如何解决这个问题?

我正在使用 commons-csv-1.4

0 投票
1 回答
1122 浏览

apache-camel - 使用 Apache Camel 下载和解析 CSV

我想使用下载和解析大型 CSV camel-csv,但我无法找到令我满意的解决方案。camel-csv似乎旨在读取和处理放置在磁盘上的文件。

我想通过 HTTP 下载 URL 列表并在下载流时对其进行解析。我可以通过绕过来做到这camel-csv一点:

但是是否可以使用类似camel-ahc下载文件并将其通过管道传输到 csv 解组的方法?就像是:

0 投票
1 回答
2844 浏览

java - 模拟 Apache Commons CSV CSVRecord

在某些时候,我的代码需要接触CSVRecord,但我想不出一种方法来创建它的模拟版本。

该类是最终的,因此不能被嘲笑。构造函数是私有的,所以我不能创建它的实例。一种方法是如何测试使用CSVRecord该类的代码?

现在唯一可行的解​​决方案是解析测试夹具以获取对象的实例。这是我最好的方法吗?

0 投票
1 回答
1432 浏览

java - 带引号的 Apache commons-csv 错误

我正在使用 org.apache.commons-csv 1.4,本周我在我们的一个 junit 测试中发现了这种奇怪的行为:

*错误案例

输入 .csv

爪哇KO:

[0.0] DAR_123451
[0.1] XXXXX Hello World "Hello World XXX\nDAR_123456 ,XXXXX Hello World "Hello World XXX


*正确案例

输入 .csv

爪哇好:

[0.0] DAR_123451 [0.1] XXXXX Hello World “Hello World” XXX

[1.0] DAR_123452 [1.1] XXXXX Hello World “Hello World” XXX

我无法将 commons csv 库设置为正常工作,这似乎是一个错误,我们如何才能正确读取字符串中带有单引号的字符串?

0 投票
0 回答
1040 浏览

csv - Apache commons csv如何从csv文件编辑特定列

我可以使用以下代码读取 csv 文件,

但是,我想在姓氏后面加上“ABC”并更新同一个文件。有没有办法做到这一点?

0 投票
2 回答
6026 浏览

java - 从 CSVRecord 获取数据而无需访问标头值

我正在解密一个字符串以显示多个逗号分隔的值,并且我想访问各个信息,但加密的字符串不包括标头值。

我知道,在读取特定列的 CSV 文件信息时,可以通过以下方式访问:

其中 ID 是表中的标题值,但似乎没有办法在不知道标题名称的情况下访问它。

加密的字符串正在另一个应用程序中解密。

有没有办法在不知道标题值的情况下读取逗号分隔值的访问权限,或者是否有任何替代 CSVRecord 的方法?

0 投票
1 回答
1504 浏览

java - 如何使用 Apache Commons CSV 解析以 GB18030 编码的 csv 文件

我有一个用 GB18030 编码的 csv 文件,我想使用apache commons CSV来解析文件并获取文件中的汉字。

这个怎么做?因为我使用默认配置获得了一些有线字符。

谢谢

0 投票
5 回答
10046 浏览

java - 使用 Commons CSV 解析 CSV - 引号内的引号导致 IOException

我正在使用Commons CSV来解析与电视节目相关的 CSV 内容。其中一个节目的节目名称包含双引号;

116,6,2,29 Sep 10,""JJ"(60 分钟)"," http://www.tvmaze.com/episodes/4855/criminal-minds-6x02-jj "

节目名称是“JJ”(60 分钟),它已经用双引号括起来了。这是在封装的标记和分隔符之间抛出 IOException java.io.IOException: (line 1) invalid char。

CSVFormat.DEFAULT 已设置 withQuote('"')

我认为这个 CSV 的格式不正确,因为“”JJ“(60 分钟)”应该是“”“JJ”“(60 分钟)”——但是有没有办法让 commons CSV 来处理这个或者我需要手动修复这个条目?

附加信息:其他节目名称在 CSV 条目中包含空格和逗号,并放在双引号内。