我想用 C++ 解析雅虎金融 csv 文件。鉴于每一行的格式为:
Date,Open,High,Low,Close,Volume,Adj Close
获得这些值的有效方法是什么?我想将日期存储到一个结构中,该结构包含一个 ctime 结构的日期,并为所有其他值加倍。
您可以为 line 定义一个结构,例如:
struct Instrument
{
ctime date_;
double open_;
double high_;
double low_;
double close_;
double volume_;
double adj_;
double close_;
};
然后你 getline 从文件中读取每一行,将每一行(使用 boost tokenizer、regex 或split-a-c++-string)解析为一个 Instrument 对象,然后你可以将它存储在一个 STL 容器中,例如:
std::vector<Instrument> instruments;
instruments.push_back(instrument);
我认为 Boost 正则表达式可以帮助你。
http://www.boost.org/doc/libs/1_52_0/libs/regex/doc/html/index.html