如何使用C++代码vector<CityData> readDataFromExcel() ,读取地址"C:\Users\86139\Desktop\主成分作业 数据.csv"
时间: 2023-10-14 08:04:52 浏览: 76
你可以使用第三方库来读取CSV文件,比如 `boost` 库或者 `csv-parser` 库。下面是使用 `csv-parser` 库的示例代码:
首先,你需要安装 `csv-parser` 库。你可以在命令行中输入以下命令进行安装:
```
pip install csv-parser
```
然后,你可以使用以下代码读取CSV文件:
```c++
#include <iostream>
#include <fstream>
#include <vector>
#include "csv-parser/csv.hpp"
struct CityData {
std::string city;
int population;
};
std::vector<CityData> readDataFromExcel() {
std::vector<CityData> data;
io::CSVReader<2> csvReader("C:\\Users\\86139\\Desktop\\主成分作业 数据.csv");
csvReader.read_header(io::ignore_extra_column, "City", "Population");
std::string city;
int population;
while (csvReader.read_row(city, population)) {
data.push_back({city, population});
}
return data;
}
int main() {
std::vector<CityData> data = readDataFromExcel();
for (auto& cityData : data) {
std::cout << "City: " << cityData.city << ", Population: " << cityData.population << std::endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个 `CityData` 结构体来保存城市名称和人口数量。然后,我们使用 `csv-parser` 库的 `CSVReader` 类来读取CSV文件。在读取之前,我们需要指定需要读取的列的名称。在这个例子中,我们需要读取的列是 "City" 和 "Population"。然后,我们使用 `read_row` 函数来读取每一行数据,并将数据保存到 `data` 向量中。最后,我们返回 `data` 向量。
在 `main` 函数中,我们调用 `readDataFromExcel` 函数来读取数据,并打印出每个城市的名称和人口数量。
阅读全文