C++读取csv数据
这几天,刚好我同事问我QT上面怎么读取csv文件,并输出起始点和终点x,y坐标值(起点、终点、起点、终点......);这是她的程序代码和对应的csv文件:

她的程序读取数据的时候,只能读到x值,并且会跳行,于是让她详细截图了一下读取CSV的程序代码:

针对代码,可以发现,她写的代码还是有很多错误的地方,此处就先不讲具体错误在哪里了,
如果小伙伴有兴趣,对数据处理有基础,可以试试找找其中错误。
由于时间关系,我先贴出可以实现的代码:
#include <iostream>
#include<string>
#include<vector>
#include<fstream>
#include<sstream>
using namespace std;
int main()
{
ifstream inFile("/home/czh/test_1.csv");
string lineStr;
vector<vector<string>> strArray;
getline(inFile,lineStr); //跳过第一行
while (getline(inFile, lineStr)) {
stringstream ss(lineStr);
string str;
vector<string> lineArray;
while (getline(ss, str, ',')){
lineArray.push_back(str);
}
strArray.push_back(lineArray); //添加数据到数组中
}
//读取数据
int j =1;
for(int i =0;i<strArray.size();i++)
{
if(j%2 ==1){
double startpoint_x = stod(strArray[i][0]);
double startpoint_y = stod(strArray[i][1]);
cout << "start_x ="<< startpoint_x<<","<<"start_y ="<<startpoint_y<<endl;
}
else if(j%2 == 0){
double startpoint_x = stod(strArray[i][0]);
double startpoint_y = stod(strArray[i][1]);
cout << "end_x ="<< startpoint_x<<","<<"end_y ="<<startpoint_y<<endl;
}
j++;
}
}
最终实现的效果如下所示:

有兴趣大家可以留言,一起讨论一下,一起学习!