如何写入 CSV 文件中的列

How to write to a column in a CSV file

我目前正在从 CSV 文件中提取数据。 CSV 文件包含大约 89 列和 2000 行数据。我正在使用各种 getlines 和循环获取几个特定的​​数据列,例如所有 col:1,2,21,22,66,67。然后我将该数据存储到循环中的向量中。阅读整个文件后,我现在有 6 个充满我想要的数据的向量。我对该数据进行了一些调整并将其存储回矢量中。我现在想将这些新数据放回我从中取出的那些列中,而不实际选择 up/out 我不想要的其他数据。最好的方法是什么?因为我不想制作 89 个变量来保存所有其他数据,所以我更愿意特别写这些列或类似的东西。

As I don't want to make 89 vars to hold all that other data I would much rather write over those columns in particular or something similar.

您可以使用一个字符串向量来保存一行中的数据,而不是使用 6 个向量来存储列数据。然后更新该向量中 1、2、21、22、66、67 处的元素并将其写入另一个文件。

std::vector<std::string> row; // 89 elements after read and parse a row.

以这种方式处理 500,000 行应该足够快了。如果不是,请尝试 column-oriented 数据库,例如OpenTSDB