我怎么读csv文件?

时间:2018-01-11 12:35:18

标签: c++ csv

我有一个数据,由","分隔。我有7行。我试图将逗号分隔的数据读入2d向量,如下所示:

ifstream input;
input.open("wordplate.csv");
vector<vector<string>> data;
string line;
while(getline(input,line)){
    cout<<"A\n";
    stringstream ss(line);
    string value;
    vector<string> record;
    while(getline(ss,value,',')){
        record.push_back(value);
    }
    data.push_back(record);
}

input.close();

但由于某种原因,我只获得了我的csv文件的最后一行。我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

你能提供真实数据吗?我刚刚在Visual Studio 2015中测试了这段代码,它似乎有效。

也许在这里阅读答案可以帮助您: How can I read and parse CSV files in C++?

答案 1 :(得分:0)

这是我打印结果的方式:

for(auto const& r : data) {
    for(auto const& c : r)
        std::cout << c << ' ';
    std::cout << '\n';
}

它显示您的代码按预期读取所有csv行。