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;