什么是将CSV键值对拆分成地图的最佳方法

时间:2018-03-20 11:50:52

标签: c++ file csv parsing stream

我有map<string, vector<uint64>>和这种格式的csv文件:

STARTX,20000000,WIDTH,20,COUNT,1000000
ROW,4,COL,55
ROW,5,COL,20
ROW,9,COL,20
ROW,12,COL,85
ROW,14,COL,8

我想知道分割所有字符串值并将它们作为键添加到地图中的最佳方法是什么,并使用流将下一个整数值添加到与键对应的向量(前面的字符串值)中。 以下代码示例无法正确执行此任务。

 std::istringstream iss(stringRes);
    std::string word;
    uint64_t val;

    while (std::getline(iss, word, ',') >> std::ws)
    {
        /* do stuff with word */
        if (result.find(word) == result.end()) //word not found in map
        {
            std::vector<uint64_t> newV;
            result.insert(
                    std::pair<std::string, std::vector<uint64_t>>(word, newV));
        }

        iss >> val;
        result[word].push_back(val);
    }

0 个答案:

没有答案