c++读取特定列csv文件
时间: 2023-09-15 11:15:23 浏览: 48
要读取特定列的 CSV 文件,你可以使用 C++ 的 ifstream 和 getline 函数来逐行读取文件,并使用 stringstream 和 getline 函数来解析每行并提取特定列的数据。
以下是一个示例代码,它读取名为 "data.csv" 的 CSV 文件,并提取第二列的数据:
```cpp
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main()
{
ifstream file("data.csv");
vector<string> column2;
string line;
while (getline(file, line))
{
stringstream ss(line);
string data;
// 提取第二列数据
getline(ss, data, ','); // 第一列
getline(ss, data, ','); // 第二列
column2.push_back(data);
}
// 输出第二列数据
for (const auto& data : column2)
{
cout << data << endl;
}
return 0;
}
```
在这个示例代码中,我们将文件名 "data.csv" 作为参数传递给 ifstream 构造函数来打开文件,并使用 getline 函数逐行读取文件。然后,我们使用 stringstream 对每行进行解析,并使用 getline 函数提取第二列数据。最后,我们将第二列数据存储在名为 column2 的 vector 容器中,并输出它们。
请注意,这个示例代码假设 CSV 文件的每行都有相同数量的列,并且没有空行。如果你的 CSV 文件与这个示例代码不同,请根据需要进行修改。