C ++ 读写 CSV 文件

注:将vector写入csv的数据集

void writecsv(vector<vector<string>>& locXYLabel, const char * data_path)
{
    ofstream outf;
    outf.open(data_path);
    if (!outf)
    {
        cerr << "can not open the file " << endl;
        return;
    }
    for (int i = 0; i < locXYLabel.size(); i++)
    {
        for (int j = 0; j < locXYLabel[i].size(); j++)
        {
            outf << locXYLabel[i][j] << ",";
        }
        outf << endl;
    }
    outf.close();
}

注: 从CSV读入数据

void getLocXY(vector<vector<string>>& locXYLabel, const char* data_path)
{
    ifstream inf;
    inf.open(data_path);
    if (!inf)
    {
        cerr << "can not open the file" << endl;
        return;
    }
    string line;
    while (getline(inf, line))
    {
        istringstream sin(line);// 将数据放入istringstream流中
        vector<string> fields;
        vector<string> xyLabel;
        string field;
        
        while (getline(sin, field, ','))// 根据“,”划分字符串,存入field字段。
        {
            fields.push_back(field);
        }
        xyLabel.push_back(fields[8]);
        xyLabel.push_back(fields[9]);
        xyLabel.push_back(fields[10]);
        locXYLabel.push_back(xyLabel);
        fields.clear();
        xyLabel.clear();

    }
    inf.close();
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值