Files
supercomputers/bitcoin-project/src/csv_loader.cpp
2025-12-01 11:40:36 +00:00

48 lines
1.0 KiB
C++

#include "csv_loader.hpp"
#include <fstream>
#include <sstream>
#include <iostream>
std::vector<Record> load_csv(const std::string& filename) {
std::vector<Record> data;
std::ifstream file(filename);
if (!file.is_open()) {
throw std::runtime_error("Cannot open file: " + filename);
}
std::string line;
// читаем первую строку (заголовок)
std::getline(file, line);
while (std::getline(file, line)) {
std::stringstream ss(line);
std::string item;
Record row;
std::getline(ss, item, ',');
row.timestamp = std::stod(item);
std::getline(ss, item, ',');
row.open = std::stod(item);
std::getline(ss, item, ',');
row.high = std::stod(item);
std::getline(ss, item, ',');
row.low = std::stod(item);
std::getline(ss, item, ',');
row.close = std::stod(item);
std::getline(ss, item, ',');
row.volume = std::stod(item);
data.push_back(row);
}
return data;
}