【发布时间】:2012-04-26 01:16:50
【问题描述】:
我经常处理看起来像这样的文件(为了与 R 兼容):
# comments
# more comments
col1 col2 col3
1 a hi
2 b there
. . .
我经常想将 col2 读入向量或其他容器中。编写一个解析这种文件的函数并不难,但如果没有经过良好测试的库来为我做这件事,我会感到惊讶。有这样的图书馆吗? (正如我所说,自己动手并不难,但由于我不是 C++ 专家,所以使用允许我使用任意容器来包含任意数据类型的模板对我来说会有些麻烦。)
编辑: 我知道我想要的列的名称,但不知道这个特定文件中的列的顺序。列由未知数量的空格分隔,可能是制表符或空格(可能不是两者)。每行的第一个条目前面可能有也可能没有空格,有时这会在一个文件中发生变化,例如
number letter
8 g
9 h
10 i
【问题讨论】:
-
将文件保存为 CSV 并使用 CSV 解析器?
-
文件有多大?虽然这并不是特别困难,但很难找到一个速度不快得离谱的解决方案。
-
通常是 100-1000 行。其中最大的是约 1000 万行。我不太关心性能,而是开发周期。
-
我想我可能应该结束这个问题。我想我想要的东西可能对我的情况太特殊而没有标准解决方案,尽管这让我感到惊讶,因为 R 读写这样的文件,而且肯定有人同时使用 C++ 和 R。