C++ 读取CSV文件
时间: 2023-07-11 10:25:59 浏览: 209
c++ 读取csv
4星 · 用户满意度95%
你可以使用 C++ 标准库中的 `<fstream>` 头文件中的 `ifstream` 类来读取CSV文件,然后使用字符串分割函数对行进行分割,再使用字符串转数字函数将数据转换为具体数据类型。具体代码如下所示:
```c++
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
std::vector<std::vector<double>> readCSV(const std::string& filePath, char delimiter = ',')
{
std::vector<std::vector<double>> data;
std::ifstream file(filePath);
if (!file.is_open())
{
std::cout << "Failed to open file: " << filePath << std::endl;
return data;
}
std::string line;
while (std::getline(file, line))
{
std::vector<double> row;
std::stringstream ss(line);
std::string cell;
while (std::getline(ss, cell, delimiter))
{
row.push_back(std::stod(cell));
}
data.push_back(row);
}
return data;
}
```
上述代码中,`readCSV` 函数将读取指定 CSV 文件,将数据存储在一个二维数组中,并返回该数组。其中,`filePath` 是指定的 CSV 文件路径,`delimiter` 是 CSV 文件的分隔符。在函数中,先判断文件是否成功打开,然后逐行读取 CSV 文件,使用 `std::stringstream` 对每行进行分割,再将分割后的每个字符串转换为 `double` 类型,并将其存储在一个二维数组中。最后,将该数组返回。
阅读全文