CSVReader - 使用“作为转义字符时出现错误

2023-12-14

我正在使用 OpenCSV。

我有一个CSVReader尝试解析 CSV 文件。
该文件有引号字符"和分隔符,和转义字符也".

请注意,CSV 包含以下单元格:

"ballet 24"" classes"
"\"  

实际上代表这些值:

ballet 24" classes
\

例子:

"9/6/2014","3170168","123652278","Computer","2329043290","Bing and Yahoo! search","22951990789","voice lesson","Broad","0.00","0","1","3.00","0.00","0.00","0.00","7","0","",""
"9/6/2014","3170168","123652278","Smartphone","2329043291","Bing and Yahoo! search","22951990795","ballet class","Broad","0.00","0","1","1.00","0.00","0.00","0.00","0","0","",""
"9/6/2014","3170168","123652278","Smartphone","2329043291","Bing and Yahoo! search","22951990797","ballet 24"" classes","Broad","0.00","0","1","1.00","0.00","0.00","0.00","0","0","",""
"9/6/2014","3170168","123652278","Smartphone","2329043291","Bing and Yahoo! search","22951990797","ballet classes","Broad","0.00","0","1","1.00","0.00","0.00","0.00","0","0","",""
"9/6/2014","3170168","123652278","Computer","2329043291","Bing and Yahoo! search","22951990817","\","Broad","0.00","0","1","1.00","0.00","0.00","0.00","5","0","",""
"9/6/2014","3170168","123652278","Computer","2329043293","Bing and Yahoo! search","22951990850","zumba classes","Broad","0.00","0","1","7.00","0.00","0.00","0.00","5","0","",""
"9/6/2014","3170168","123652278","Smartphone","2329043293","Bing and Yahoo! search","22951990850","zumba classes","Broad","0.00","0","4","1.00","0.00","0.00","0.00","5","0","",""
"9/6/2014","3170168","123652278","Computer","2329043293","Bing and Yahoo! search","22951990874","zumba lessons","Broad","0.00","0","1","2.00","0.00","0.00","0.00","0","0","",""

我的问题是我无法指定"用于转义字符CSVReader构造函数
(即使其与引号字符相同)。
如果我这样做的话,CSVReader简直太疯狂了,它将整个 CSV 行读取为单个 CSV 单元格。

有其他人遇到过这个错误以及如何解决它吗?!


如果您使用 CsvReader 的默认设置,它将起作用。

检查他们有这个未解决的错误:sourceforge.net/p/opencsv/bugs/83:

事实上,它工作得很好,只是不是你想象的那样。它的默认值是 逗号表示分隔符,引号表示引号字符,反斜杠表示 转义字符。但是,它可以理解两个连续的引号 作为转义引号字符的字符。所以,如果你只是选择 默认,它会正常工作。

默认情况下,它能够用双引号转义双引号,但您的“真正”转义字符仍然必须是其他字符。

所以以下工作:

CSVReader reader = new CSVReader(new FileReader(App.class.getClassLoader().getResource("csv.csv").getFile()), ',','"','-');
  • 逗号作为分隔符
  • 双引号作为引号字符
  • 破折号(任何其他字符)作为转义字符

起初,我将“\”作为转义字符,但是随后,您的字段“\”将需要修改以转义转义字符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSVReader - 使用“作为转义字符时出现错误 的相关文章

  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 通过 spring-rabbitmq 自动重试连接到代理

    我读过这个文档片段 RabbitMQ 自动连接 拓扑恢复 自 Spring AMQP 第一个版本以来 该框架提供了其 在代理发生故障时 可以恢复自己的连接和通道 此外 如第 3 1 10 节 配置代理 中所述 RabbitAdmin 将在以
  • 注释时间序列图

    我有一个日期索引数组 x 日期时间对象 和一个实际值数组 y 债券价格 执行以下操作 plot x y 生成一个完美的时间序列图 其中 x 轴标有日期 到目前为止没有问题 但我想在某些日期添加文本 例如 在2009年10月31日 我希望显示
  • 如何控制ConsumerGroup处理消息的并发度

    我正在使用 kafka node ConsumerGroup 来消费来自主题的消息 ConsumerGroup在消费消息时需要调用外部API 甚至可能需要一秒钟才能响应 我希望控制消费队列中的下一条消息 直到收到 API 的响应 以便按顺序
  • 尝试从 SAML 创建声明时出现错误“WIF10201:未找到有效的键映射”

    我正在尝试验证来自第三方 Siteminder IDP 的 SAML 响应 我已经安装了他们提供的证书 当我打电话给验证令牌方法 System IdentityModel Tokens 创建声明 我收到以下错误 WIF10201 找不到有效
  • Postgres 查询获取所有孩子的 id

    我是一个 SQL 菜鸟 到目前为止只编写了非常基本的查询 我有一张看起来像这样的桌子 item full name varchar 65535 item id bigint item owners varchar 255 item appr
  • git lock 错误背后的原因

    我正在一个拥有数百个分支的大型 git 存储库中工作 我在 Windows 上 通常当我git pull 它给了我多个锁定错误 例如 error cannot lock ref refs remotes origin branchname
  • 如何检测 UITableView beginUpdates/endUpdates 上的动画已结束?

    我正在使用插入 删除表格单元格insertRowsAtIndexPaths deleteRowsAtIndexPaths包装成beginUpdates endUpdates 我也在使用beginUpdates endUpdates调整 ro
  • 文件夹权限 - 部分或全部身份引用无法翻译

    我想在远程服务器上为域用户设置文件夹 ACL 但总是收到以下错误消息 部分或全部身份参考无法翻译 我究竟做错了什么 这是我的代码 string folderPath remoteServer testDirectory string acc
  • 两次时间之差(以分钟为单位)[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我见过一些使用 Joda Time 和其他方法来计算两个日期之间以毫秒为单位的差异的示例 但是如何将这些应用到仅以分钟为单位计算两个时间之间的差异呢 例如 下午 2 45 和上午 1
  • PHP 致命错误:调用未定义的函数?

    因此 当我将网站托管在我的网络主机上时 我的网站出现了问题 我收到这个错误 PHP Fatal error Call to undefined function getSkillIcons 奇怪的是 在本地 Xampp 它工作得很好 这就是
  • Qt:如何获取正在运行的 QProcess 的实时输出

    我必须在 QProcess 运行时获取它的输出 因此我编写了以下代码 CommandExecutor C CommandExecutor C mProcessStatus AI UNKNOWN mOnTdiActiveCallback mT
  • 使用 Embed API 嵌入 Google Analytics 位置地图视图

    下面是 Google 分析网站上的视图屏幕截图 地理位置 gt 位置 gt 主要维度 城市 我想嵌入这个确切的视图 或者使用 google 的 Embed API 尽可能类似地复制它 并将其显示在我自己的网站上 我已经按照这里的教程进行操作
  • 为什么要使用指针(性能)?

    我想知道是否有关于原始对象与对象指针的性能基准 我知道在引用类型 例如地图 上使用指针是没有意义的 所以请不要提及它 我知道如果数据需要更新 您 必须 使用指针 所以请不要提及它 我发现的大多数答案 文档基本上都改写了官方文档中的指南 If
  • 类装饰器Nestjs修改类中的每个方法

    我想创建一个装饰器 它可以获取类的所有方法并用某些功能包装它们 对于这个例子 只需像这样记录 export function CustDec
  • MuleStudio studio:工作室目标未能执行

    我在 Mule Studio 工作区 从 Mule Studio 中 复制 粘贴了一个工作项目来创建一个新项目 之后 我可以在新项目上进行 mvn clean 安装 一切正常 然后 在对 pom 进行任何修改 即添加空行 后 我收到以下错误
  • 是否可以将数据绑定到枚举并显示用户友好的值? [复制]

    这个问题在这里已经有答案了 我想显示我的合同的状态 两者声明如下 public enum RentStatus Description Preparation description Preparation Description Acti
  • 当用户滚动到页面部分时触发 CSS 动画

    我的网站上有一个简单的 CSS 动画 我想在其中显示 5 个 div 一次连续显示一个 一切正常 但我想在用户滚动到我网站上的特定部分时触发该动画 现在动画在页面加载时开始 这是我的代码 div div div img src https
  • AngularDart:如何将事件从子组件传递到二级父组件

    我将 StreamController 与事件一起使用 本质上我有一个 3 级组件层次结构 我们称它们为 A B C 层次结构是A gt B gt C 事件的起源在c中 我希望事件由A处理 我知道使用 Output 的直接父 gt 子关系很
  • 如何在没有 Activity 的情况下使用 LocalBroadcastManager

    我有我的课 ABC 通过扩展BroadcastReceiver 但最近我偶然发现LocalBroadcastManager 这是我的班级声明 public class ABC extends BroadcastReceiver 因此 ABC
  • CSVReader - 使用“作为转义字符时出现错误

    我正在使用 OpenCSV 我有一个CSVReader尝试解析 CSV 文件 该文件有引号字符 和分隔符 和转义字符也 请注意 CSV 包含以下单元格 ballet 24 classes 实际上代表这些值 ballet 24 classes