问题标签 [supercsv]

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 投票
1 回答
563 浏览

supercsv - 在 csv 中查找和报告重复行的建议

我有多个项目,其中包含不同数量的 csv 文件,我使用 SuperCSV CsvBeanReader 来执行映射和单元格验证。我为每个 csv 文件创建了一个 bean 并覆盖;每个 bean 的 equals、hashCode 和 toString。

我正在寻找有关执行 csv 行重复识别的最佳“所有项目”实施方法的建议。报告(不删除)原始 csv 行号和行内容,以及找到的所有重复行的行号和行内容。一些文件可以达到数十万行,大小超过 GB,并且希望最小化每个文件的读取次数,并认为可以在 CsvBeanReader 打开文件时完成。

先感谢您。

0 投票
3 回答
4195 浏览

java - 带有非转义引号的 Java CSV 解析器

我有一个 CSV 文件,其中有一些引用问题:

SuperCSV 让这些水果蠕虫窒息(双关语)。我知道2"应该是2"",但不是。LibreOffice 实际上正确地解析了这个(这让我感到惊讶)。我想写我自己的小解析器,但其他行在字符串中有逗号:

有谁知道一个可以处理像这样疯狂的东西的 Java 库?还是我应该尝试所有可用的?还是我自己破解这个更好?

0 投票
1 回答
1513 浏览

java - 解析 SuperCsv/beanreader 在第一行遇到异常并返回 NULL

我尝试使用 Supercsv 解析 csv 文件。我使用一些“捕获异常”来消除结构或数据错误的行。

所有行都通过 do / while 循环处理。但是如果第一行导致异常(正则表达式...),则 read() 方法的返回值为 null,这会导致 while 循环停止。

我怎样才能通过保持坏线的消除来避免这种情况?

这是代码:

一个厄运的解决方案是强制 ucdr 为 null 的其他值。但肯定有更好的方法...

你可以帮帮我吗?

0 投票
1 回答
876 浏览

supercsv - 将 CsvListReader 限制为一行

我正在开发处理大型 CSV 文件(数百 MB)的应用程序。最近我遇到了一个问题,起初看起来像是应用程序中的内存泄漏,但经过一番调查,它似乎是格式错误的 CSV 和 CsvListReader 尝试解析永无止境的行的组合。结果,我得到了以下异常:

通过基于转储结果分析堆转储和 CSV 文件,我注意到 CSV 行之一中的一列缺少右引号,这显然导致读者试图通过将文件内容附加到内部字符串缓冲区直到出现不再是堆内存。

无论如何,这就是问题所在,这是由于 CSV 格式错误 - 一旦我删除了关键行,问题就消失了。我想要实现的是告诉读者:

  • 它应该解释的所有内容总是以换行符结尾,即使引号没有正确关闭(不支持多行)
  • 或者,提供 CSV 行的特定限制(以字节为单位)

使用 CsvListReader(在我的情况下首选)在 SuperCSV 中是否有一些明确的方法可以做到这一点?

0 投票
2 回答
2238 浏览

java - SuperCSV 追加而不是覆盖?

是否可以在 CSV 文件中添加新行,而不是覆盖最后一行?

这是我想添加新行时调用的方法:

谢谢

0 投票
2 回答
8038 浏览

java - DecimalFormat“模式中的多个小数分隔符”

我想将十进制值格式化为货币值:1234.56d 应该变成“1.234,56”(这种格式在一些欧洲国家使用)。我正在使用以下模式来格式化十进制值:

事实上,我正在使用SuperCSV的类FmtNumber,但这没关系,因为模式语法是相同的: new FmtNumber("###.###.###,00");

我得到的是一个 IllegalArgumentException 消息“模式中的多个小数分隔符”。

我知道只能有一个小数分隔符。但在我的情况下,它应该是符号“,”。而“,”在我的模式中只出现一次。

我在 Web 和 StackOverflow 上搜索了这条异常消息,但没有找到有用的答案。

我的错误是什么?

0 投票
1 回答
11732 浏览

java - 使用 OpenCSV 将 CSV 解析为多个/嵌套的 bean 类型?

我有各种 CSV,其中包含一些标准列和一些完全随机的字段:

所以我试图将它们解析为包含名字和姓氏的 Person.class bean,然后我有第二个名为 PersonAttribute.class 的类来保存......其他任何东西。

两个类的基本大纲:

我一直在 opencsv 中使用 CsvToBean 函数:

但是,当我为 Person.class bean 解析 csv 时,我不确定如何处理创建 PersonAttribute.class bean。我遇到了这篇文章,想知道是否需要切换到 supercsv 来轻松处理我想要做的事情?

0 投票
1 回答
1097 浏览

opencsv - csv 到 pojo 与另一个 pojo

CSV 标题列如下

System.UniqueID,Name,EnableSelf-Registration,Addr1.Type,Addr1.Line1,Addr1.Line2,Addr1.Line3,Addr1.City,Addr1.State,Addr1.Zip,Addr1.Country,Addr2.Type,Addr2.Line1, Addr2.Line2,Addr2.Line3,Addr2.City,Addr2.State,Addr2.Zip,Addr2.Country,Addr3.Type,Addr3.Line1,Addr3.Line2,Addr3.Line3,Addr3.City,Addr3.State,Addr3。邮编,Addr3.Country

我的问题可能与以下链接有关

OpenCSV CSV 到 JavaBean

我没有看到该线程有正确的答案(我不确定我是否错过了该线程中的任何答案)

我们可以使用任何现有的 csv 库(如 supercsv、opencsv)实现相同的目标吗?

如果我使用的是 supercsv - 我可以将 csv 的 System.UniqueID 列映射到我的 bean 的 systemUniqueID 属性吗

0 投票
1 回答
934 浏览

supercsv - 使用 SuperCsv 编写 Excel 文件,包括字体格式

我使用 SuperCSV 编写 Excel 文件。如何向某些单元格添加字体格式 - 删除线等?

谢谢!

0 投票
0 回答
199 浏览

supercsv - supercsv 在 linux 机器上运行太慢

我正在使用 supercsv 将数据下载为 csv。这对我来说太慢了,在 Linux 机器上下载数据需要 20 30 分钟。CPU 使用率超过 109% 是否有任何解决方案可以提高性能。下面给出了代码我正在使用 csvbeanwriter