小小破橘儿 2023-08-07 10:31 采纳率: 40%
浏览 103
已结题

C++按照列读取csv文件

C++可以一行一行的读取csv文件,那C++可以一列一列的读取csv文件吗?

  • 写回答

3条回答 默认 最新

  • 小尘要自信 Java新星创作者 2023-08-07 10:40
    关注

    是的,C++可以一列一列地读取CSV文件。你可以使用标准C++库中的文件流(fstream)以及字符串处理函数来实现这个目标。

    以下是一个简单的示例代码,演示如何逐列读取CSV文件:

    #include <iostream>
    #include <fstream>
    #include <sstream>
    #include <vector>
    
    int main() {
        std::ifstream file("example.csv");
        if (!file.is_open()) {
            std::cerr << "Error opening file." << std::endl;
            return 1;
        }
    
        std::vector<std::vector<std::string>> data; // 二维向量用于存储数据
    
        std::string line;
        while (std::getline(file, line)) {
            std::vector<std::string> row;
            std::istringstream iss(line);
            std::string field;
            while (std::getline(iss, field, ',')) { // 逐列读取
                row.push_back(field);
            }
            data.push_back(row);
        }
    
        // 输出数据(可以根据需要进行处理)
        for (const auto& row : data) {
            for (const auto& field : row) {
                std::cout << field << " ";
            }
            std::cout << std::endl;
        }
    
        return 0;
    }
    

    这个示例代码假设CSV文件中的每列都以逗号分隔。你可以根据需要进行调整,以适应不同的分隔符或格式。

    在这个示例中,data 向量将存储从CSV文件中读取的数据。外层循环逐行读取文件,内层循环逐列读取每一行的数据。数据被存储为字符串,你可以根据需要进行转换。

    请注意,上述代码只是一个基本示例。在实际项目中,你可能需要处理更复杂的CSV文件格式、错误处理和数据转换。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月15日
  • 已采纳回答 8月7日
  • 创建了问题 8月7日

悬赏问题

  • ¥15 QT+Gstreamer框架开发视频采集,无法将waylandsink视频绑定qt窗口
  • ¥15 vs2010开发 WFP(windows filtering platform)异常
  • ¥30 8*8*25的矩阵和1*8*25的矩阵相乘
  • ¥15 Ubuntu20.04主机有两个网口,如何配置将其中一个网口用来接入外网,另一个网口用来给其他设备上网
  • ¥15 ml307r-dl如何实现录音功能
  • ¥15 付费100元 悬赏iphone 15pm 链接watch s7 移动一号双终端 下载不了esim文件解决办法?
  • ¥60 云南移动网络无法访问网站,但联通电信可正常访问
  • ¥15 寻找有过Qt加载网页项目经验的人
  • ¥15 我的电脑在最近一次windows更新后彻底打不开了,一按电源键只有这个提示,如何解决
  • ¥15 烝救者笔记本然后刷thinkbook笔记本的bios