问题标签 [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 回答
147 浏览

java - 解析固定宽度的多模式记录

0000321C#符小姐

23234HSBCA#123433-000HSBCAUS

00234HSBCB#222343-130HSBCCACE

0000322C#酒吧先生

给定的文件是固定宽度的,包含 A#、B# 和 C# 的记录映射到不同的模型。(A#、B#和C#为记录指标)

我确实找到了一个库(univocity-parser),我们可以在其中执行类似的操作,但限制是记录指示器位于行首。

请建议。

0 投票
1 回答
366 浏览

java - Univocity - 是否可以将文件解析为运行时生成的 bean/类?

我正在使用 univocity 将一些文件解析为 javabean。这些 bean 是已编译的类。但是我希望在运行时生成这些类,然后将文件解析为运行时生成的类。

完整代码在这里:gist

使用 Univocity 库的代码片段:

该文件如下所示:

所有的值似乎都是空的,所以在解析文件并将其映射到 bean 时出现了问题......

是否可以使用 Univocity 库将文件解析为运行时生成的 bean/类?

0 投票
1 回答
9397 浏览

java - java.lang.ClassCastException:使用 Univocity 时,java.util.Date 无法转换为 java.lang.String

我正在尝试读取 java.sql.Date 字段并使用 Univocity 将其解析为 java bean,代码如下:

但我收到以下异常以及解析行时的Caused by: java.lang.ClassCastException: java.util.Date cannot be cast to java.lang.String其他信息com.univocity.parsers.common.DataProcessingException: Error converting value 'Sat Apr 12 00:00:00 CEST 1986' using conversion com.univocity.parsers.conversions.TrimConversionparser.parseLine(line);

我试图将日期表示为它在行中的样子,例如“12-04-1986”,我尝试提供转换“dd-MM-yyyy”,不幸的是无济于事。

我的代码中缺少什么来获得“生日:12-04-1986”的预期系统?

编辑:使用 java.util.Date

人物类:

将 Date 对象更改为 java.util.Date 并在 java.util.Date 对象上应用正确的日期格式时,打印会正确显示预期结果。

0 投票
1 回答
650 浏览

java - Univocity - writing out quote escape character using RowWriterProcessor

I am using univocity to parse files to beans, perform some magic on the objects, and afterwards write the beans back to a file. The code snippet that duplicates my problem:

Bean class (getters and setters ommited):

And the file content (input):

The file is not under my control as it is being provided by an external party. After the application performs operation on the objects (not included in the code snippet), I need to return the file to the external party with exactly the same settings.

Desired file output content:

However I am getting:

Is there a way to include the actual used quote escape character when writing the beans back to a file?

EDIT

I have tried using settings.setQuoteAllFields(true); on the writer and all combinations of

on the CsvParserSettings, but none seem to give me the result I am looking for.

0 投票
1 回答
1049 浏览

java - Univocity - 即使字段不包含分隔符字符,也要写出周围的引号

我有一个从数据库中卸载的文件,无论列的实际内容如何,​​所有 varchar 列都被引号包围(不幸的是,卸载过程超出了我的控制)。

像这样:

在 pom 中使用以下代码与 univocity 2.2.3 时:

只有包含分隔符的列用引号括起来:

在编写器设置上使用settings.setQuoteAllFields(true);时,所有字段都被引号包围,但现在非 varchar 字段有问题。

无论列的内容如何(例如,分隔符存在或不存在),我如何只用引号将源中的引号包围的列括起来?

期望的结果:

0 投票
1 回答
328 浏览

java - Univocity - 是否可以使用 MultiBeanListProcessor 进行迭代?

我正在解析的文件之一由两个部分组成,我需要将它们逻辑拆分为两个不同的 bean。我发现 MultiBeanListProcessor 是一个很好的方法。我使用测试示例 14作为我的代码的源代码。

给定以下配置:

这真的很好用。

不幸的是,输入文件太大而无法加载到内存中,我需要迭代而不是一次解析。在先前提出的问题中,给出了如何迭代每个 bean 的答案。但是,我没有设法将此逻辑/代码应用于此用例。

使用 MultiBeanListProcessor 时如何迭代每个 bean?

0 投票
1 回答
73 浏览

java - Univocity Parsers:从这里调用函数不起作用:parserSettings.selectFields( *some_function* );

我正在使用 .csv 文件,并希望将由函数构造的字符串传递给: parserSettings.selectFields( function );

测试时,当函数返回的字符串直接粘贴到:parserSettings.selectFields(string); 解析工作正常,但是,当使用该函数时,解析不起作用,并且只有空格的输出。

这是功能:

这是它的放置方式:

任何帮助将不胜感激,谢谢。

0 投票
1 回答
487 浏览

scala - 使用 spark csv 包读取非常大的文件时出错

我们正在尝试使用 spark-csv 和 univocity 1.5.0 解析器读取一个 3 gb 文件,该文件在其一列中有多个换行符,但该文件在换行符的基础上被拆分为某行中的多个列。这种情况发生在大文件的情况下。

我们正在使用 spark 1.6.1 和 scala 2.10

以下代码我用于读取文件:

java.lang.exception:2015 年 1 月 20 日失败。

示例文件: “A AAAAAAAA”、“AA999”、“AA999”、“AA999”、“9999-99-99-99.99.99.999999”、“AAAAAA99”、“Aaaaa Aaaaaaaaa

99/99/9999 - AAA 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 AAA aaaaaa - aaaaaaa aaaaaaaaa

99/99/9999 AAA 啊啊啊。啊啊啊啊啊。啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊。

99/99/9999 - 啊啊啊啊啊啊啊。

99/99/9999 - AAA

99/99/9999 AAA aaaaaa aaaaa aa Aaa 9999 aaaa aaaaaaaaa aaaaaaaaaaa - aa A&Aa。啊啊啊啊啊啊啊啊啊。

99/99/9999 AAA 啊啊啊啊啊——啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 - 啊啊啊啊啊啊啊啊。啊啊啊啊啊啊啊 99/99/9999 - 99/99/9999

99/99/9999 - 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!

99/99/9999 啊啊啊啊啊啊啊啊啊。啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 啊啊啊啊啊啊啊啊啊啊啊。

99/99/9999 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 AAA 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 AAA 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 AAA aaaaaa aaaaaaa aaaaa aaaaaa aa Aaa 9. A&Aa aaaaaaa aa aaaaa aaaaa aaaaa aaaaaaaaa,aaaaaaaaaa aaaaa aaaaaaaaa aaa aaaaa aaaaa aaaaaaaaa aaaaaaa。

99/99/9999 AAA - 啊啊啊啊啊啊啊啊啊啊。

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 AAA 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 Aaa aaaaaaaaaaaa aaaa aa 99/99/9999 aaa aaa aaaaaaaaaaa aaaaaaaaaaaaa aaaaa 99/99/9999 aaaa aaa aaaaaaa aa aaaaaaaaa aaaaaaaa, aaaaaa AAA aa aaaaa aaaaaaaaa aa aa 99. Aa aaa aaaaaaa aa aaaaaaaaa aaaaaaaa, aaa aaaaaaaaaa aaaaaaaa aaaaa aaaa aaaaaaaaaaa aaaa aaaa啊啊啊啊啊啊啊啊啊啊啊。

99/99/9999 AAA aaaa aaaaa - AAA aaaaaaa aaaa A&Aa aaaaaaaaaaa aa aaa aaaaaaaaaaaaa aaaaa aaaaa aaaaa aaaaaaa aa Aaaaa 9999。

啊啊啊啊啊啊啊啊啊啊啊啊啊啊9999啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 - a/a aaaa aa aaaaaaaaaaaa

99/99/9999 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

99/99/9999 - 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊……

99/99/9999 - 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊。

99/99/9999 - 啊啊啊啊啊啊啊啊啊啊啊啊。啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊9999 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!啊啊啊 9999,啊。啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊。啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊9999啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 "

0 投票
1 回答
205 浏览

java - uniVocity 解析器来处理两个文件

我正在使用 uniVocity 来解析两个不同的文件。对于第一个文件的每一行,我需要遍历文件 2 以便进行一些比较。

我需要CsvParserSettings为两个解析器使用不同的,还是有其他方法来定义rowProcessors?

另外,如何逐行读取文件以便在每一行中执行我需要的操作?

0 投票
1 回答
59 浏览

java - 使用单义性更改 CSV 文件中评论部分的顺序

我正在使用 univocity CSV 解析器将我的内容导出到 CSV 文件。这是我预期的 CSV 文件输出,

但是在将内容导出到 CSV 文件时,我得到了以下格式,

如何将评论部分移到 univocity CSV 解析器库的顶部?