c++

c++怎么读取csv指定行和列

小亿
217
2024-06-11 10:24:39
栏目: 编程语言

在C++中,可以使用文件流和字符串处理来读取CSV文件中的指定行和列。下面是一个示例代码,演示了如何读取CSV文件中的指定行和列:

#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>

int main() {
    // 打开CSV文件
    std::ifstream file("data.csv");

    // 检查文件是否成功打开
    if (!file.is_open()) {
        std::cerr << "Error opening file!" << std::endl;
        return 1;
    }

    // 指定要读取的行和列
    int targetRow = 2;
    int targetCol = 3;

    // 读取文件内容
    std::string line;
    int row = 0;
    while (std::getline(file, line) && row <= targetRow) {
        if (row == targetRow) {
            // 使用字符串流来分割每一行的数据
            std::stringstream ss(line);
            std::string cell;
            int col = 0;
            while (std::getline(ss, cell, ',') && col <= targetCol) {
                if (col == targetCol) {
                    // 输出指定行和列的数据
                    std::cout << "Row " << targetRow << ", Col " << targetCol << ": " << cell << std::endl;
                }
                col++;
            }
        }
        row++;
    }

    // 关闭文件
    file.close();

    return 0;
}

在这个示例中,我们打开了一个名为"data.csv"的CSV文件,并指定要读取的行和列(第二行、第三列)。然后我们逐行读取文件内容,使用字符串流来分割每一行的数据,并输出指定行和列的内容。最后关闭文件。

请注意,该示例假设CSV文件中的数据是逗号分隔的。如果数据是以不同的分隔符(例如分号或制表符)进行分割,则需要相应调整代码中的分隔符。

0
看了该问题的人还看了