添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
ofstream outFile; outFile.open("data.csv", ios::out); // 打开模式可省略 outFile << "name" << ',' << "age" << ',' << "hobby" << endl; outFile << "Mike" << ',' << 18 << ',' << "paiting" << endl; outFile << "Tom" << ',' << 25 << ',' << "football" << endl; outFile << "Jack" << ',' << 21 << ',' << "music" << endl; outFile.close(); // 读文件 ifstream inFile("data.csv", ios::in); string lineStr; vector> strArray; while (getline(inFile, lineStr)) // 打印整行字符串 cout << lineStr << endl; // 存成二维表结构 stringstream ss(lineStr); string str; vector lineArray; // 按照逗号分隔 while (getline(ss, str, ',')) lineArray.push_back(str); strArray.push_back(lineArray); getchar(); return 0; csv文件其实就是文本文件,每行字段用逗号分隔。代码#include #include #include #include #include using namespace std;int main(){ // 写文件 ofstream outFile; outFile.open("data.csv", ios::out); // 打开模式可省略 out ofstream outFile; outFile.open("data. csv ", ios::out); // 打开模式可省略 for(int j=0;j<TotalLength;j++) for (int i = 0; i < 4; i++) outFile << ReadEEGALL[i][j] << ","; outFile << std::endl; outFile.close(). 平常使用python处理 csv 有numpy库和pandas库非常方便,现在有任务需要使用 c++ 处理 csv 文件 ,这里记录一下处理 csv 的代码。这里将每个小格中的数据按照字符串推入到vector中。 下面我们以这个表格做示例代码.
#include<bits/std c++ .h> using namespace std; void read_ csv (string filename) //传入 文件 所在的位置 ifstream inFile(filename); string lineStr; vector<vector<string> > strArray;//用来保存 读取 出来的数据,可以看成是一个二维数组,类型一般是string,其他类型可以转换 // 读取 csv 文件 std::vector<std::vector<std::string>> read Csv (std::string filename) { std::vector<std::vector<std::string>> data; // 存储 csv 文件 中的数据 std::ifstream file(filename); // 打开 csv 文件 std::string line; // 存储每行数据的字符串 while (std::getline(file, line)) { // 逐行 读取 csv 文件 std::vector<std::string> row; // 存储每行数据的向量 std::stringstream ss(line); // 将每行数据的字符串转换为流 std::string cell; // 存储每个单元格的字符串 while (std::getline(ss, cell, ',')) { // 逐个单元格 读取 每行数据 row.push_back(cell); // 将单元格的字符串添加到每行数据的向量中 data.push_back(row); // 将每行数据的向量添加到存储 csv 文件 数据的向量中 return data; // 返回存储 csv 文件 数据的向量 3. 定义写入 csv 文件 的函数: ``` c++ // 写入 csv 文件 void write Csv (std::string filename, std::vector<std::vector<std::string>> data) { std::ofstream file(filename); // 创建 csv 文件 for (auto row : data) { // 逐行写入 csv 文件 for (auto cell : row) { // 逐个单元格写入每行数据 file << cell << ','; // 将单元格的字符串写入 csv 文件 ,并添加逗号分隔符 file << std::endl; // 每行数据写入完成后,添加换行符 file.close(); // 关闭 csv 文件 4. 调用 读取 和写入 csv 文件 的函数: ``` c++ int main() { std::string filename = "data. csv "; // csv 文件 路径 std::vector<std::vector<std::string>> data = read Csv (filename); // 读取 csv 文件 write Csv ("new_data. csv ", data); // 将 读取 csv 文件 数据写入新的 csv 文件 return 0;