如何使用没有清晰格式样式的C 解析CSV文件

how to parse a CSV file with C++ that has no clear formatting style

本文关键字:解析 CSV 文件 样式 格式 何使用 清晰      更新时间:2023-10-16

我一直在通过CSV文件解析,该文件几乎没有一致的格式,并且不断破坏任何CSV文件通常都需要的惯例。

我的问题是,即使使用CSV解析器或试图编写针对我的问题的解析器,我也会遇到CSV中的原始数据问题,从本质上讲,偶尔会被逗号界定的大量字符。任何问题,如果是在逗号界定的数据字段中,都有许多无关逗号的情况,并且没有任何形式的一致结构或格式与数据的一致性或格式,我一直在努力找到一种方法来正确区分" CSV逗号"从仅在数据字段中保存的逗号中。

ive浏览了文档,以了解有关其他与CSV相关的问题的链接的CSV解析器,但似乎他们似乎可以处理这个问题,因为它们都期望数据对数据的格式更加一致输入。完全不可思议的方向,完全甚至指向有用方向的任何帮助。

CSV格式要求引用包含逗号的字段。例如:

 123,"one,two,three"

不难编写解析器来处理此问题,任何一半的CSV库都应从开箱即用,并处理嵌入式双引号的问题。

没有库可以轻松支持的是一些任意逗号:

 123,one,two,three

最后两个逗号确实是为了成为第二个字段的一部分(因此不是CSV)。您将需要编写自己的解析器和/或具有描述非CSV数据的方法。