#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
auto read_csv(const char *filepath) {
// 二维字符串向量,用于存储CSV数据
std::vector<std::vector<std::string>> data;
// 打开CSV文件
std::ifstream file(filepath);
if (!file.is_open()) {
throw std::runtime_error("Failed to open file: " + std::string(filepath));
}
// 逐行读取CSV文件内容并存储到二维数组中
std::string line;
while (std::getline(file, line)) {
std::stringstream ss(line);
std::vector<std::string> row;
std::string cell;
while (std::getline(ss, cell, ',')) {
row.push_back(cell);
}
data.push_back(row);
}
file.close();
return data;
}
template <typename T>
void print_array2d(T data) {
for (const auto &row : data) {
for (const auto &cell : row) {
std::cout << cell << " ";
}
std::cout << std::endl;
}
}
int main() {
auto arr2d = read_csv("./test/md_data/tick_rb2410.csv");
print_array2d(arr2d);
return 0;
}
03-10
5668
