gpt4 book ai didi

c++ - 如何在 C++ 中将 CSV 文件读入 vector

转载 作者:行者123 更新时间:2023-11-28 01:19:51 24 4
gpt4 key购买 nike

我正在做一个将 python 代码转换为 C++ 的项目,以获得更好的性能。那个 python 项目名称是 Adcvanced EAST,现在,我在 .csv 文件中得到了 nms 函数的输入数据,如下所示:

"[ 5.9358170e-04  5.2773970e-01  5.0061589e-01 -1.3098677e+00
-2.7747922e+00 1.5079222e+00 -3.4586751e+00]","[ 3.8175487e-05 6.3440394e-01 7.0218205e-01 -1.5393494e+00
-5.1545496e+00 4.2795391e+00 -3.4941311e+00]","[ 4.6003381e-05 5.9677261e-01 6.6983813e-01 -1.6515008e+00
-5.1606908e+00 5.2009044e+00 -3.0518508e+00]","[ 5.5172237e-05 5.8421570e-01 5.9929764e-01 -1.8425952e+00
-5.2444854e+00 4.5013981e+00 -2.7876694e+00]","[ 5.2929961e-05 5.4777789e-01 6.4851379e-01 -1.3151239e+00
-5.1559062e+00 5.2229333e+00 -2.4008298e+00]","[ 8.0250458e-05 6.1284608e-01 6.1014801e-01 -1.8556541e+00
-5.0002270e+00 5.2796564e+00 -2.2154367e+00]","[ 8.1256607e-05 6.1321974e-01 5.9887391e-01 -2.2241254e+00
-4.7920742e+00 5.4237065e+00 -2.2534993e+00]

一个单元是7个数字,但前四个数字后有一个'\n',我想将这个 csv 文件读入我的 C++ 项目,这样我就可以用 C++ 进行数学运算,让它更快。

using namespace std;

void read_csv(const string &filename)
{
//File pointer
fstream fin;
//open an existing file
fin.open(filename, ios::in);

vector<vector<vector<double>>> predict;

string line;
while (getline(fin, line))
{
std::istringstream sin(line);
vector<double> preds;
double pred;
while (getline(sin, pred, ']'))
{
preds.push_back(preds);
}

}

目前...我的代码 emmmmmm 无法正常工作,我完全不知道这个...请帮助我将 csv 数据读入我的代码。谢谢

最佳答案

不幸的是,在 C++ 中解析字符串(以及随后的文件)非常乏味。

我强烈建议使用一个库,最好是只有标题的库,like this one .

如果你坚持自己写,或许可以从this StackOverflow question中得到一些启发关于如何在 C++ 中解析一般 CSV 文件。

关于c++ - 如何在 C++ 中将 CSV 文件读入 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56987778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com