问题标签 [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.
csv - Super-CSV:如何进行“CSV 标准化”?
我想在 Super-CSV-Dozer API 的帮助下进行 CSV 规范化。
我有一个 CSV 文件,格式如下:
并且在阅读了这个文件(例如通过CsvDozerBeanReader
)之后,我希望以 bean 的形式对这些数据进行标准化表示,例如:
Super-CSV-Dozer 中是否有内置的可能性?
java - 忽略 csv 中的额外列 - SuperCSV
我正在使用 SuperCSV 将 CSV 记录解析为对象。我的 CSV 文件最后有额外的列,我只想处理前 X 列。所以我String[]
为前 X 列定义CellProcessor[]
了相同大小的映射。但它似乎不起作用并抛出异常,即单元处理器的数量应该与列数完全相同。
有人可以告诉我我是否遗漏了什么。即使我不想要它们,我是否需要将映射数组定义为具有与五个完全相同的列?
这是我的映射和单元处理器
这适用于文件
但失败了(我想忽略 column3 )
java - 如何使用 SuperCSV 读取具有多列的 csv
我有一个包含 2 列的 CSV 文件(1 列包含单词列表,另一列包含它们在文本文档中的使用频率)。我很好奇使用 SuperCSV 在类型对象的 ArrayList 中读取它的最佳方法。提前致谢。
java - 在 java 中使用 SuperCsv 读取 tsv 文件时出现异常
我的 tsv 文件包含:
TsvReader.java
TsvEntities.java
例外 :
java - 使用 SuperCsv 写入文件,在 excel 中打开时保留前导零
我想知道是否有办法在使用 SuperCsv 时保持领先的 0。
我的问题是我有几列的数字前导为 0。我想保留 0,但 excel 不断剥离它,我还尝试在数字的开头附加一些字符,例如“=”但是没有好的结果。
Excel 显示我在数字开头添加的第一个字符,因此列值看起来像 =0222333111 ,那是因为 supercsv 可能将输出包装在引号之间。
我在 superCsv 网站上没有找到任何东西,而且我想我不是唯一一个遇到这个问题的人。我应该迁移到 Excel Java 库,还是有解决方法?
java - SuperCSV 编写器中不区分大小写的标题?
使用 CsvMapWriter 如果我添加一个标题说“区域”,然后用键“区域”和值“东北”写一行,它不会被添加到 SuperCSV 输出中。我假设它没有找到一个有效的列来输入“区域”的值。
对于此应用程序,我无法重命名标题,例如强制小写。并且行键/值对,例如“region”和“northeast”可以以大写、小写或混合大小写的形式出现,但无论如何它都应该添加到正确的不区分大小写的标题列中(标题本身可能是“Region” , '地区' 等)
java - 如何使用 Super CSV 将列表写入 CSV
我相信我可能不得不重做我使用 supercsv 所做的事情,因为从长远来看它可能会更容易,但我对任何其他建议持开放态度。我只是想写回一个 csv 文件,我有一个包含所有数据的列表,但是输出是这样的
我已经设法通过替换列表中的字符串来获得我想要的输出,但是当它运行时它会挂起,我相信这是由于我如何写回 csv,我不确定,还有什么可以做的而不是将其写回 csv 不同地不使用超级 csv。我得到的错误是
我的witer类如下
我在这个语法中缺少什么,或者有没有更好的方法来完成这个任务
csv - 将 SuperCsv 与多个变量列一起使用
我在 Super CSV网站上查看了这个示例,该示例显示 dateofbirth 是可选列。如果我有多个可选列会怎样?代码将如何变化?
另外,如果可选列不在末尾而是在中心或其他地方怎么办?
supercsv - 如何让 CsvDozerBeanWriter 从 Dozer XML 映射文件中提取列标题
我正在编写一个功能来生成屏幕数据的 CSV 快照。
我需要这是数据驱动的。因此,我需要避免在 Java 中对每个快照进行硬编码,而是从 XML 文件或数据库等数据源加载它。数据包含在 Java bean 中。
我在 2.1.0 都使用带有推土机扩展的 SuperCSV。
这种组合看起来很完美,因为我可以编写从 bean 到 Dozer XML 映射文件中的列的映射。
这对数据很有效,但我还没有找到一种方法来指定用于 CSV 列标题的字符串,而不是像在我看过的所有示例和测试用例中那样在 Java 中对它们进行硬编码. 那不是数据驱动的。
有没有办法让我在映射器文件中编码列标题。或者甚至从映射器文件中提取它们,构造一个列表并将它们传递给writerHeader()
方法?
我认为只使用 bean 属性名称作为标头是可以的,尽管理想的情况是我在 XML 的<Field>
标记中提供了一些额外的元数据表示法来指定标头。
我会在 SourceForge 上发布此内容,但那里出现 500 错误。
java - 使用 Super CSV 时,我可以获取存在验证错误的列号吗?
我正在使用 Super CSV 来验证 csv 文件。
我得到了行号,listReader.getRowNumber()
但是有没有一种方法可以让我得到存在验证错误的列号?