为了账号安全,请及时绑定邮箱和手机立即绑定

如何解析不规则使用引号的 CSV 文件?

如何解析不规则使用引号的 CSV 文件?

墨色风雨 2024-01-05 10:46:21
我必须解析一个以逗号分隔的 CSV 文件,其中包含不规则使用双引号的列。文件条目如下所示:"1920,The False Road,American,Fred Niblo,""Enid Bennett, Lloyd Hughes"""1920,813,American,""Charles Christie, Scott Sidney"",""Wedgwood Nowell, Ralph Lewis, Wallace Beery, Laura La Plante"",mystery-+---+------------+-----------------------------------+----+|   |     A      |      B                            | C  |+---+------------+-----------------------------------+----+| 1 | 1920       | Fred Niblo                        | ...|| 2 | 1920       | ""Charles Christie, Scott Sidney""| ...|+---+------------+-----------------------------------+----+正如您所看到的,第 4 列中第一个条目不带引号,而第二个条目则带有引号。有没有办法考虑这种不规范的使用?
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

您的 csv 实际上应该如下所示才正确:


1920,The False Road,American,Fred Niblo,"Enid Bennett, Lloyd Hughes",

1920,813,American,"Charles Christie, Scott Sidney","Wedgwood Nowell, Ralph Lewis, Wallace Beery, Laura La Plante",mystery

(另请注意第一行末尾的额外逗号)


此处,包含逗号的字段用 括起来",您可以使用任何 csv 解析器(或库)正确读取该字段。


但不知何故,你的 csv 似乎已转换为单字段 csv。整行都用引号引起来,现有的引号用另一个引号转义(如预期的那样)——除了每行末尾缺少一个结束引号。


要解决此问题,您可以首先在每行末尾添加引号,保存文件,然后将其解析为 csv,这将为每一行返回一个单元格(包含所有数据)。


然后,您可以将每个单元格的内容写入另一个文件,然后再次将该文件解析为 csv,这将为您提供正确的数据。


查看完整回答
反对 回复 2024-01-05
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信