头文件
#include#include #include #include #include using namespace std;
读入数据:
提示:如果是excel文件,可以用wps或者office先转换成csv,如果手动改后缀名可能有问题
vectorx1, x2, x3, x4;//文件一共四列 ifstream inFile("/home/lessle6/Project/AAATEST/build/2.csv", ios::in); if (!inFile) { cout << "打开文件失败!" << endl; exit(1); } int i = 0; string line; string field; while (getline(inFile, line)) // getline(inFile, line)表示按行读取CSV文件中的数据 { string field; istringstream sin(line); //将整行字符串line读入到字符串流sin中 getline(sin, field, ','); //将字符串流sin中的字符读入到field字符串中,以逗号为分隔符 x1.push_back(atoi(field.c_str())); //将刚刚读取的字符串转换成int getline(sin, field, ','); //将字符串流sin中的字符读入到field字符串中,以逗号为分隔符 x2.push_back(atoi(field.c_str())); //将刚刚读取的字符串转换成int getline(sin, field, ','); //将字符串流sin中的字符读入到field字符串中,以逗号为分隔符 x3.push_back(atoi(field.c_str())); //将刚刚读取的字符串转换成int getline(sin, field); //将字符串流sin中的字符读入到field字符串中,以逗号为分隔符 x4.push_back(atoi(field.c_str())); //将刚刚读取的字符串转换成int i++; } inFile.close();
写入数据:
vectory1 = fun(x1);//vector fun(vector x_) vector y2 = fun(x2); vector y3 = fun(x3); vector y4 = fun(x4); cout << "y1.size" << y1.size() << endl; cout << "y2.size" << y2.size() << endl; cout << "y3.size" << y3.size() << endl; cout << "y4.size" << y4.size() << endl; ofstream outFile("/home/lessle6/Project/AAATEST/res.csv", ios::out); // ios::out:如果没有文件,那么生成空文件;如果有文件,清空文件 if (!outFile) { cout << "打开文件失败!" << endl; exit(1); } //写入4列数据 for (int j = 0; j < y1.size(); j++) { outFile << y1.at(j) << ","; outFile << y2.at(j) << ","; outFile << y3.at(j) << ","; outFile << y4.at(j) << ","; outFile << endl; } outFile.close(); cout << "写入数据完成" << endl;



