gpt4 book ai didi

c++ - 如何在C++中将excel数据加载到数组中

转载 作者:行者123 更新时间:2023-11-28 04:18:04 32 4
gpt4 key购买 nike

作为家庭作业的一部分,我被要求从 excel 文件加载数据

有人知道怎么做吗?

我在网上找不到这样的东西..

(Excel文件是这样的形式:

name1; ID1 
name2; ID2
name3; ID3

)

最佳答案

你好像没有做任何努力。只要看看关于“如何用 C++ 读取文件”的 C++ 类(class)就会给您答案。

而且我无法相信您在网上找不到任何东西,除非您从未搜索过任何东西。

您将在下面看到一个示例,说明如何读取具有您指定格式的文件(我猜是 .csv)。但它不处理你的数据文件损坏的情况。
而且......我不会解释代码,我认为你必须努力自己在线搜索 C++ 类(class)或 C++ 文档来解释您是我用来完全理解代码功能的说明。

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

std::vector<std::string> split(const std::string & s, char c);

int main()
{
std::string file_path("data.csv"); // I assumed you have that kind of file
std::ifstream in_s(file_path);

std::vector <std::pair<std::string, std::string>> content;

if(in_s)
{
std::string line;
while(getline(in_s, line))
{
std::vector<std::string> splitted(split(line, ';'));
while(splitted[1][0] == ' ')
splitted[1].erase(0, 1); // remove the white(s) space(s)

content.push_back(std::make_pair(splitted[0], splitted[1]));
}

in_s.close();
}
else
std::cout << "Could not open: " + file_path << std::endl;

for(std::pair<std::string, std::string> line : content)
std::cout << line.first << "; " << line.second << std::endl;

return 0;
}

std::vector<std::string> split(const std::string & s, char c)
{
std::vector<std::string> splitted;

std::string word;
for(char ch : s)
{
if((ch == c) && (!word.empty()))
{
splitted.push_back(word);
word.clear();
}
else
word += ch;
}
if(!word.empty())
splitted.push_back(word);

return splitted;
}

祝你好运!

关于c++ - 如何在C++中将excel数据加载到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56113000/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com