问题标签 [univocity]

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 回答
1146 浏览

java - 在表单中使用 @Parsed 注释解析 CSV 文件 - Univocity 解析器

我正在尝试@Parsed在表单文件中解析带有一些注释的 CSV 文件,但它不起作用。

我正在使用univocity

初始化.java

FireReportFormGeneral.java

但我的输出总是这样的:

[Ljava.lang.String;@7591083d [com.opessoftware.fire.csv.reader.FireReportFormGeneral@77a567e1, com.opessoftware.fire.csv.reader.FireReportFormGeneral@736e9adb]

我肯定做错了什么,但我找不到答案。

谢谢。

编辑:

我解决问题

问题是,例如,如果调用beans.get(index).getAccountName()它会为我返回值。

0 投票
1 回答
2318 浏览

java - Univocity - 如何使用迭代器样式每行返回一个 bean?

介绍

我正在构建一个合并几个大的排序 csv 文件的过程。我目前正在研究使用 Univocity 来做到这一点。我设置合并的方式是使用实现可比较接口的 bean。

给定

简化的文件如下所示:

bean 看起来像这样(省略了 getter 和 setter):

比较器如下所示:

由于我不想读取内存中的所有数据,我想读取每个文件的顶部记录并执行一些比较逻辑。这是我的简化示例:

问题

给定上面的例子,我如何解析它遍历每一行并每行返回一个bean,而不是解析整个文件?

我正在寻找这样的东西(这个不起作用的代码只是为了表明我正在寻找的解决方案):

0 投票
1 回答
221 浏览

java - Univocity:使用 CsvRoutines 迭代 bean 时,为什么我不能使用迭代器删除功能?

鉴于我已经设置了以下迭代器(域是某个类,输入是某个文件):

为什么我不能用...

...移除一个豆子?

换句话说,在 com.univocity.parsers.common.routine.AbstractRoutines 类中实现这种实现的原因是什么?

在迭代到下一个 bean 之前,我需要删除“顶部”bean。

0 投票
1 回答
454 浏览

univocity - Univocity - 将每个 TSV 文件行解析为不同类型的类对象

我有一个tsv文件,它有固定的行,但每一行都映射到不同的 Java 类。

例如。

对于第一行,我有以下课程:

对于第二行,我有:

我想将 TSV 文件直接解析为相应的对象,但我没有想法。

0 投票
1 回答
2086 浏览

java - 发生错误后立即停止 csv 到 bean 对象的 UNIVOCITY-PARSERS

我正在使用 UNIVOCITY-PARSERS 将 csv 文件行转换为 java 对象。

在处理文件时,如果它在行中的任何列中遇到任何问题,那么它会在该行中停止解析并抛出异常。但是我需要一些东西,只要跳过有错误的行,它就会一直持续到文件末尾。但我在 api 中没有任何实用程序类。

我的豆类

我的主要课程

0 投票
1 回答
414 浏览

java - 使用 Univocity CSV 解析器解析两个具有相同定义但列数不同的不同文件

我正在使用 Univocity 解析器来解析 CSV 文件并将它们填充到Bean.

我面临的问题是我有两个不同的文件。这两个文件的结构相同,但列数不同。它们都引用同一个 Bean 类。

例如:

Bean 类定义为:

如果我对两个文件使用相同的 bean,则期望两个文件中的列数相同并且它失败了。

我认为我可以使用的另一种方法是为不同的文件集使用两个不同的 bean,但我正在寻找 Univocity 解析器中是否有任何功能来处理这种情况。

请帮忙。谢谢。

0 投票
1 回答
326 浏览

java - 如何使用 uniVocity-parsers 处理不可打印字符

我想将 Java 与uniVocity-parsers一起使用来解析 mysql 生成的 csv 数据select into outfile

现在遇到一种处理不可打印字符的情况!mysql 表包含bit(1)列,当使用select into outfile将其数据保存到文件中时,我发现bit(1)列数据变为不可打印字符。当使用uniVocity-parsers获取行数据时,我得到nullbit(1)列的值。我希望得到该bit(1)列的真实数据。我该怎么办 ?

0 投票
1 回答
432 浏览

java - Univocity 解析器 - 生成 scala 案例类的迭代器方式

使用 Univocity 框架进行自定义解析需求。我们有一个迭代器,通过调用 parseNext() 将每一行作为事件输出,我们不想使用 "parse(File file)" 。

我们将这个 Scala 案例类作为最终输出,但目前我们正在处理解析器的输出并使用工厂类来创建 Scala 案例类。

是否有一种迭代器方法可以从单义性生成案例类对象(我确实找到了 BeanListProcessor 但它不适用于迭代器方式)?

答案可以是 Java 或 Scala ..

谢谢,R

0 投票
1 回答
201 浏览

java - Univocity 解析器 - 处理带有奇怪结构的行

我试图找出使用大学解析器处理 CSV 日志文件的最佳方法,如下所示,

"23.62.3.74",80,"testUserName",147653,"日志收集设备 100","31/02/15 00:05:10 GMT",-1,"10.37.255.3","TCP","destination_ip =192.62.3.74|product_id=0071|option1_type=(s-dns)|proxy_machine_ip=10.1.255.3"

如您所见,这是一个逗号分隔的文件,但最后一列有一堆以字段名称为前缀的值。我的要求是从普通字段中捕获值,并有选择地从最后一个大字段中捕获值。

我知道 Univocity 中的主详细信息行处理器,但我怀疑这是否属于该类别。你能指导我正确的方向吗?

注意:如果我实现了行处理器,我可以处理名称前缀字段,rowProcessed(String[] row, ParsingContext context)但如果可能的话,我正在寻找 Univocity 的原生内容?

谢谢,R

0 投票
1 回答
1894 浏览

java - Univocity Parser:TextParsingException,同时解析具有起始双引号(“)但没有结束双引号(”)的行

解析文件时出现异常:

文件内容:

我正在使用以下 CSV 解析器设置:

我可以从异常中推断出,在第二行中我有一个起始双引号 (")。但该行不以双引号 (") 结尾。因此,在这种情况下,列长度达到 EOF(文件结尾)。

测试构建:2.2.2