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

csv - Univocity CSV:解析后缺少引号

我正在尝试使用 Univocity CSV 解析带有引号的 CSV,我发现在解析后某些值中缺少右引号。

输出:

我错过了什么。为什么输出中缺少右引号?

0 投票
1 回答
920 浏览

java - 使用univocity解析两个不同的csv文件并写入新的csv文件

我总是在我的 java 程序中使用单义词解析器来比较 csv 文件。它工作得很好,而且速度更快。

但问题是,这一次我试图解析两个不同的具有复杂值的大容量 csv 文件,并在新的 csv 文件中打印差异,

查看其中一个作者示例,我在将 file1 读入列表然后转换为映射后尝试使用 processFile,但在解析时仍然出现错误。

以下是我的示例输入和预期输出文件。

输入 - 文件 1

输入 - 文件 2

在 file1 和 file2 中选择 h1、h2 常用值,然后比较 file1 的 h3 和 file2 的 h3,如果两个文件 h3 不相等,那么我想打印“h1”、“h4”、“h10”、“h5”、“h11 ”,”h6”,”h7”,”h8”,”h9” 到文件 3

输出 - 文件 3

0 投票
1 回答
336 浏览

csv - Univocity 解析器 - 给出的信息太少时自动检测错误的定界符

我将解析器设置为自动检测分隔符

我只有 1 条记录:47W2E2qxPs, http://usda.gov/mattis.html

我得到了什么:

我希望分隔符是,而不是:

所以我的预期结果是47W2E2qxPsand http://usda.gov/mattis.html

我可以用优雅的方式修复它吗?

0 投票
1 回答
813 浏览

univocity - 如何使用单义性解析器从 CSV 读取前几行

如何在单义性解析器中使用迭代器/行处理器从 CSV 文件中读取几行后停止解析?

更新#1

我尝试了下面的代码,但我得到了空行。

更新#2

在将输入流传递给解析器之前,我使用 Apache Tika 来检测文件的 MIME 类型以检测文件是否为 CSV。

new Tika().detect(input)

这正在改变输入流。由于 Univocity 解析器无法正确解析。

0 投票
2 回答
289 浏览

java - Univocity - 如何在没有原始数组的情况下正确写入一行

我正在使用这个:

它输出本质上是一个 ArrayList toString() 值:

如何获得以下内容?

0 投票
1 回答
362 浏览

java - java中使用univocity库解析CSV

我正在使用 univocity 在 java 中解析一个大的(6 GB)CSV。CSV enrty 如下,可以解析 CSV。任何想法如何生成如下输出:

test.csv内容:

试图获得如下输出:

0 投票
1 回答
386 浏览

java - Java 映射类和列表到泛型类型

我正在尝试创建一个接受类作为参数并执行一些操作并返回同一类列表的方法。

我正在尝试使用泛型并具有以下代码。

问题: 我应该怎么做才能将提供的类映射到 BeanListProcessor 类型和 List ?

注意:此代码不正确,会产生语法错误。这是一种解释我的要求的模板。

0 投票
1 回答
820 浏览

java - Univocity 基于动态列映射将 csv 解析为相同的 pojo

我正在使用带有 BeanListProcessor 的单义性解析器来映射到我的 Java Bean,这很好,前提是列名不会改变。但是,我还需要解析一个 csv 文件,该文件为每种类型的用户提供不同的列。我为每个用户存储了到我的标准列名的映射,但是如何将它动态解析到我的 pojo 而无需修改文件。我不能使用 HeaderTransformer,因为它仍然不是动态的。如果您需要更多信息,请告诉我。我使用的版本是 2.6.3

例如:

……

用户 1 文件:用户 1
列,用户 2 列\n 数据 1,数据 2

用户 1 映射
user1Column -> myColumn1
user2Column -> myColumn2

0 投票
1 回答
108 浏览

csv - 在 csvRoutines 中使用 setStrictHeaderValidationEnabled 方法不起作用

我正在创建一个 bean 处理器并将 setStrictHeaderValidationEnabled 设置为 true。现在我的 CsvParserSettings 正在使用这个 bean 处理器,而后者又被 CSVRoutines 使用。但是在遍历 csvroutines 时,bean 处理器不会验证标题,并且后续行也会转换为具有无效标题的文件的 bean

示例代码-

注意:TestBean 使用单义性的@Parsed 注解来设置列名。

0 投票
1 回答
547 浏览

java - 在单义性 csv 解析器中转义分隔符

我有一个场景,其中数据中的一行在内容中有分隔符。

应该总是通过 - 带引号的字段分隔符

分隔符在哪里 | 并且它也存在于如上所示的列之一中。

我的配置如下:

但是当我尝试解析该行时,它会将列拆分为两个单独的列(“0St”和“ring”)并且失败。

如果将整个列周围的 put 引用如下所示,则可以正常工作。

应该总是通过 - 带引号的字段分隔符

是否有任何设置来指定分隔符转义字符?

我正在使用 univocity 2.5.9

任何帮助表示赞赏