问题标签 [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 投票
4 回答
1726 浏览

java - 使用java在csv中插入空行

我想使用 java 在 csv 中插入一个空行。我写了以下代码:

当我在记事本 ++ 中打开这个生成的 CSV 时,我得到 2 个空行:

我怎样才能得到一个空行?

0 投票
1 回答
813 浏览

java - CSV file genereated using java when opened in excel sheet formats date for only few cells

I have written following code:

When the csv file is opened in excel sheet, only few cells are date formatted. I do not want date formatted and want to treat all cells as String. How can I do this?

0 投票
2 回答
605 浏览

java - How Should I read CSV By Grouping Column of Same Value

I have a task to read a CSV file then do some logic and then create a JSON for that.

I am kind of stuck with required logic before creating JSON, I need to set Max PR VALUE against the SK as PR for all the same SK's.

My Requirement:

CSV:

Note: Max PR against SK will always be in the last row of its SK.

I have to read CSV here and need to write JSON data as below :

Edit:

Code

0 投票
1 回答
1437 浏览

java - 如何使用 apache csv 读取 excel 的 csv 文件

我有一个 CSV 文件(excel),其中每个数据都可以在 excel 等单元格中使用。我正在使用 Apache CSV 来解析 excel 类型的 csv。在解析数据时,我的每个字符之间都被空字符分隔。我从不同的来源获得这个 CSV 文件,但是当我复制相同的 excel csv 文件数据并手动制作一个 excel csv 文件时,我的下面的代码能够获得所需的输出。

我的 CSV Excel:
MyCSVExcel.jpg

我的代码:

我通过上面的代码在这里得到输出是:
我的输出

当我检查空白字符的 ASCII 值时,我得到“0”,因为值表示空字符。

我希望得到这样的输出:
实际输出

0 投票
2 回答
2256 浏览

java - 为什么 CSVParser 正在读取下一个 CSVRecord

使用org.apache.commons.csv.CSVParser我有一个奇怪的行为。

我正在尝试逐行读取由 分隔的 csv 文件,;但我的解析器由于未知原因正在跳过行。

这是我的代码:

所以我的控制台看起来像:

ETC...

所以我的问题是 CSVParser 正在跳过一行parser.hasNext(),它不应该。

我的代码错了吗?我很确定如果我用 ArrayList 替换解析器,迭代器会按预期工作......这是一个已知的错误吗?如果是的话,你们能指出解决方法或更好的图书馆吗?

0 投票
1 回答
1605 浏览

java - 自定义 CSVFormat.RFC4180

我必须阅读一个 csv 文件。该文件可以包含任何分隔符,并且可以用“”\”括起来。该文件还应根据RFC4180进行解析。(我知道在RFC4180中,分隔符是“,”,但用户也应该能够阅读例如,由“|”分隔的文件)。

如果我现在有文件未包含的情况,并且我有一行

aaa|bbb|"|ccc

我收到以下错误:

线程“main”中的异常 java.lang.IllegalStateException:IOException 读取下一条记录:java.io.IOException:(startline 120707)EOF 在 org.apache.commons.csv.CSVParser$1.getNextRecord(CSVParser.java :530) at org.apache.commons.csv.CSVParser$1.hasNext(CSVParser.java:540) at com.ids.dam.pim.validation.CSVFileReaderApache.readFileAsListOfList(CSVFileReaderApache.java:61) at com.ids.dam .pim.validation.CSVFileReaderApache.main(CSVFileReaderApache.java:78) 原因:java.io.IOException: (startline 120707) EOF 在 org.apache.commons.csv.Lexer.parseEncapsulatedToken(Lexer.java) 完成封装令牌之前达到:288) 在 org.apache.commons.csv.Lexer.nextToken(Lexer.java:158) 在 org.apache.commons.csv.CSVParser.nextRecord(CSVParser.java:586) 在 org.apache.commons.csv.CSVParser$1.getNextRecord(CSVParser.java:527) ... 还有 3 个

我认为这是因为我的 CSVFormat 仍然包含双引号作为附件,因为这是 RFC4180 中的默认设置。

打印出格式如下:

对我来说,这意味着我可以用它覆盖默认分隔符,CSVFormat.RFC4180.withDelimiter(delimiter.charAt(0)...但我不能将附件设置为 null

有没有办法在仍然使用 RFC4180 的同时将机箱设置为空?

0 投票
2 回答
2925 浏览

java - Apache 通用 CSV 格式化程序:IOException: invalid char between encapsulated token and delimiter

我正在尝试使用 JakartaCommons-csv 解析 CSV 文件

示例输入文件

格式化程序: CSVFormat.newFormat(',').withIgnoreEmptyLines().withQuote('"') CSV_DELIMITER 是,

输出

  1. CSV 解析后的 Field1 值应为:Ryan, R"u"bianes
  2. CSV 解析后的 Field5 值应为:South delhi, Rohini 122001

异常:由:java.io.IOException:(第 2 行)封装令牌和分隔符之间的无效字符引起

0 投票
1 回答
380 浏览

java - 尝试使用 Apache Common CSV 读取 CSV 文件时出现重复

我有一个类尝试使用 Apache Common CSV 读取 CSV 文件,到目前为止,我的代码工作正常,只是没有得到预期的结果。我的代码显示 csv 文件中第二列的副本,如下所示:

我的 CSV 文件

我希望得到这样的东西:

这是我使用 Apache CSV 解析 csv 的块

我无法弄清楚这里缺少什么,欢迎任何帮助。

0 投票
1 回答
410 浏览

java - 使用 Apache Commons 读取 CSV 文件

我想从两个文件中检索 CSV 文件数据,但采用嵌套格式

这是三个包含服务器信息并将其放入 hashmap 的文件

在 Downvoting 之前,请听我需要使用计算更新我的服务器信息,然后更新 hashmap 用简单的话来说,在这段代码中,第二个 For-Each 循环只迭代一次,而不是它应该为第一个的每个值迭代。

0 投票
1 回答
3346 浏览

java-7 - 添加记录时如何指示 CSVPrinter 不写标题行?

我有一个由我正在编写的程序以外的程序创建的 CSV 文件,因此我无法更改标题。该文件的标题是ControllerID,Event,Number,ReaderID,Timestamp,TransactionID,. CSVPrinter我已经为我用来将一行插入到同一个 CSV文件中指定了相同的标题。但是,当打印机添加记录时,它会在新记录之前添加一个标题行,如下所示:

有问题的代码如下所示:

事务 POJO 的代码被省略,因为它与问题无关。

如何防止在CSVPrinter输出行之前输出标题行?(CSV 文件已包含标题行。)