cpp 读取csv文件数据
时间: 2023-11-20 15:50:38 浏览: 39
可以使用C++的fstream库来读取csv文件数据。具体步骤如下:
1. 包含头文件
```cpp
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
```
2. 打开csv文件
```cpp
std::ifstream file("data.csv");
```
3. 读取csv文件数据
```cpp
std::vector<std::vector<std::string>> data; // 存储csv文件数据的二维向量
std::string line; // 存储每行数据的字符串
while (std::getline(file, line)) { // 逐行读取csv文件数据
std::vector<std::string> row; // 存储每行数据的一维向量
std::string cell; // 存储每个单元格的字符串
std::stringstream lineStream(line); // 将每行数据转换为字符串流
while (std::getline(lineStream, cell, ',')) { // 逐个单元格读取每行数据
row.push_back(cell); // 将单元格字符串添加到一维向量中
}
data.push_back(row); // 将一维向量添加到二维向量中
}
```
4. 关闭csv文件
```cpp
file.close();
```
完整代码如下:
```cpp
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
int main() {
std::ifstream file("data.csv");
std::vector<std::vector<std::string>> data;
std::string line;
while (std::getline(file, line)) {
std::vector<std::string> row;
std::string cell;
std::stringstream lineStream(line);
while (std::getline(lineStream, cell, ',')) {
row.push_back(cell);
}
data.push_back(row);
}
file.close();
// 输出读取的csv文件数据
for (const auto& row : data) {
for (const auto& cell : row) {
std::cout << cell << " ";
}
std::cout << std::endl;
}
return 0;
}
```