-1

我目前有 5 个 CSV 文件,每个文件大约有 45,000 条记录。解决这个问题的最佳方法是什么?我以前做过 I/O,但从来没有达到这个规模。解析成向量字符串?

4

2 回答 2

1

是的,把它们读成一个vector是合理的。

存储的选择在一定程度上取决于您打算做什么以及数据是什么。如果您知道数据的格式是什么,您可能想要创建一个struct,并将数据读入更有条理的形式。例如,如果文件是这样的:

name, score, err

Mats, 89, 2.1%
Steve, 79, 8%

那么你可以有这样的结构:

struct Row
{
   string name;
   int    score;
   float  err;
}

正如评论所说,45K行并不是很多,除非您在具有手表计算能力的东西上运行它,否则它不会造成任何重大问题。

于 2013-08-31T23:48:33.050 回答
1

继续做你正在做的事情:将所有行读入 a Vectorof strings、a Vectorof a Vectorof strings 或 a Vectorof objects。我们说的是 200 到 500 MB RAM,而现在大多数计算机的可用内存远不止这些。从处理时间的角度来看,在一台普通计算机中,这将是 5 到 10 分钟(当然取决于处理量)。

如果您遇到任何问题,请提出一个包含更多信息的新问题。

于 2013-08-31T23:48:40.580 回答