这可能是一个简单的问题,但我找不到关于它的具体信息,或者至少没有可读的信息。我找到的大部分信息都涉及从 .csv 文件中读取数据。
我有一个函数,需要将数据保存到 .csv 文件中。从性能角度来看,这不是一种理想的格式,但让我们假设这不能改变。我的数据存储在一个r x c x s 数据结构中,并且必须以 r,c,s,value 的形式输出并保存到 .csv 文件中。目前我有以下代码:
我有一个函数,需要将数据保存到 .csv 文件中。从性能角度来看,这不是一种理想的格式,但让我们假设这不能改变。我的数据存储在一个r x c x s 数据结构中,并且必须以 r,c,s,value 的形式输出并保存到 .csv 文件中。目前我有以下代码:
char delimiter = ',';
ofstream ofs(file, ofstream::out);
for (int r = 0; r < P.n_rows; r++)
{
for (int c = 0; c < P.n_cols; c++)
{
for (int s = 0; s < P.n_slices; s++)
{
ofs << r + 1 << delimiter << c + 1 << delimiter << s + 1 << delimiter << P(c, s, s) << endl;
count++;
}
}
}
ofs.close();
对于一个大小为100x100x50的数据结构,这需要大约6秒的时间,我认为这是一个必要的长时间。若您能提供一些关于如何加速的信息,我将不胜感激。
P
的运行时间占比有多大? - Kijewskiendl
。你真的不需要每一行都刷新。 - BoBTFishP(c, s, s)
(切片使用两次)只是在这篇文章中还是你的代码中也有? - Vlad FeinsteinP(r, c, s)
。 - Mattias Svensson