注:将vector写入csv的数据集
void writecsv(vector<vector<string>>& locXYLabel, const char * data_path)
{
ofstream outf;
outf.open(data_path);
if (!outf)
{
cerr << "can not open the file " << endl;
return;
}
for (int i = 0; i < locXYLabel.size(); i++)
{
for (int j = 0; j < locXYLabel[i].size(); j++)
{
outf << locXYLabel[i][j] << ",";
}
outf << endl;
}
outf.close();
}
注: 从CSV读入数据
void getLocXY(vector<vector<string>>& locXYLabel, const char* data_path)
{
ifstream inf;
inf.open(data_path);
if (!inf)
{
cerr << "can not open the file" << endl;
return;
}
string line;
while (getline(inf, line))
{
istringstream sin(line);// 将数据放入istringstream流中
vector<string> fields;
vector<string> xyLabel;
string field;
while (getline(sin, field, ','))// 根据“,”划分字符串,存入field字段。
{
fields.push_back(field);
}
xyLabel.push_back(fields[8]);
xyLabel.push_back(fields[9]);
xyLabel.push_back(fields[10]);
locXYLabel.push_back(xyLabel);
fields.clear();
xyLabel.clear();
}
inf.close();
}