当前位置: 首页 > 知识库问答 >
问题:

opencsv无法识别行中的所有列

申昌勋
2023-03-14

我用的是opencsv 2.3 for Java。我像这样设置我的CSVReader对象来处理

CSVReader reader = new CSVReader(new FileReader(file.getAbsolutePath()));

在我的文件中,我有以下几行:

"001-07110-004","BLOWER KEY","York"
"032MF","Liquid Line Filter Drier, 1/4" FEMALE X MALE, 3CU","Parker Hannifin"

数据从SQL Server表导出到CSV文件。

OpenCSV正确识别第一行的三列,但第二行只有两列。

如何配置 OpenCSV 以识别第二行的三列数据?

共有2个答案

凌波峻
2023-03-14

很抱歉出现重复的帖子!我通过重新创建CSV文件解决了这个问题。我没有使用SQL Server导出向导,而是将视图的内容复制到Excel电子表格中,然后保存为CSV。Excel添加了opencsv正确识别数据所需的双引号。我很惊讶SQL Server导出向导没有正确的CSV选项,但这也是我所说的Microsoft。

龙承颜
2023-03-14

几乎肯定是重复的。你的问题是,在你的字段中间,你有一个无法逃脱的双引号在字段中间,这会把一切都抛掉。

尝试切换传递到CSVReader的strictQuotes的值,但如果不起作用,则必须使用转义字符(\默认)或另一个双引号转义文件中的引号。

 类似资料:
  • 我对java librairie OpenCSV有问题。我没有读完我的CSV文件的所有行,我只读了第二行,我不知道为什么... 我的CSV文件: 我使用OpenCSV创建一个android列表,只有“Julie”“Julie”这一行被添加了3次...

  • 我有以下序列

  • 我不确定这是否是一个与我没有这台计算机的管理权限有关的问题。任何帮助,以便我可以进一步排除故障,将非常感谢! 谢谢

  • 问题内容: 我创建的查询之一存在一个奇怪的“问题”。给定下一个查询: phpMyAdmin一直在引发有关没有名为“ LatestBookableTimestamp”的列的错误,即使我有一个由子查询检索的列,也就是该别名。我也尝试过使用tableprefix选择每一列。第八,这没有用。最终,我通过表别名选择了所有列,并为表指定了别名。一切都没有运气。 有人可以告诉我我在做什么错吗?我什至搜索了一些资

  • 将CICS(v5.1)中的IBM权限从8.5.5.0升级到8.5.5.5后,JCICS API无法被自由识别。复制了相同的server.xml,它具有以下功能。我注意到日志中有不同的消息(下面列出的消息),标签为“LIBERTY NOTUSAGE”。有人看到这个吗?我们需要更改任何配置文件吗?

  • 我有一个简单的Flutter应用程序。 如果我将类移动到另一个文件中,例如custom_card.dart,然后执行,我会得到错误消息:。如果类留在main.dart中,那么一切都可以工作。我错过了什么?