如何写入CSV文件中的列

时间:2018-02-18 21:50:25

标签: c++ csv large-data

我目前从CSV文件中提取数据。 CSV文件有大约89列和2000行数据。我正在使用各种getline和循环获得几个特定的​​数据列,例如col:1,2,21,22,66,67。然后我将数据存储到循环中的向量中。一旦我读完整个文件,我现在有6个向量,我想要的数据。我对该数据进行了一些调整,并将其存储回矢量中。我现在想把这些新数据放回到我把它们拿出来的那些列中,而不是真正地接收/输出我不想要的其他数据。对此最好的方法是什么?因为我不想让89个变量来保存所有其他数据,所以我更愿意在这些列上特别写或类似的东西。

1 个答案:

答案 0 :(得分:0)

  

由于我不想让89个变量来保存所有其他数据,所以我更愿意在这些列上特别写或类似的东西。

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

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

以这种方式处理500,000行应该足够快。如果不是,请尝试使用面向列的数据库,例如: OpenTSDB