什么是C++中CSV解析/写入的首选库?

daj*_*daj 23 c++ csv parsing boost

我见过这个帖子:如何在C++中读取和解析CSV文件?

但重新发明轮子以获得像CSV解析器一样通用的东西似乎很愚蠢.Boost有一些便于解析的例程,但没有开箱即用的东西.

在其他地方,我看到与.NET相关的推荐库或其他特定于平台的库.很难相信没有一个首选的开放C++库可以为这个例程做点什么.

有什么建议?

BJo*_*vke -30

CSV 解析没有“首选”库,因为用 C++ 编写自己的解析器比下载一些库、阅读如何使用它、将其与您的代码链接、可能遇到一些错误、更改代码以满足您的需求要省力CSV 解析很简单,您需要做三件事:

  • 检测字段分隔符。
  • 检测行分隔符。
  • 跳过引号内的分隔符。

此外,文件编码还存在问题,您要使用哪些分隔符、文件中的额外空格和空行等等。

如果您仍然想使用“首选”CSV 解析器,那么也许您应该完全跳过 C++ 编码并转向其他语言。

  • 为一个文件编写一个 CSV 解析器可能很简单,但编写一个接受各种不同 CSV 格式的通用 CSV 解析器却是一项重大工作。有些程序的 CSV 输出行顶部有一个或多个注释行,有些程序有标题行,有些程序的标题位于注释内。有些程序使用逗号作为小数点,有些则使用点。您还可以想到很多其他的事情。文本是否用单引号、双引号或者甚至用大括号表示?为所有这些组合编写单元测试是一项艰巨的工作。 (21认同)