【发布时间】:2020-04-02 09:17:18
【问题描述】:
大家好,我刚开始学习如何使用 c++ 进行 csv 文件管理,目前此代码有效。它可以打印出“数学”列。
但只有当我使用 getline(ss,#any column variable#, ',') 分配每一列时 然后我打印出我想要的列。但如果我将它用于一个大列表,让我们说一个包含大约 100 列的 csv 文件。那么,我该如何简化呢?或者有什么方法可以让我只获取特定的列而不将每一列分配/解析给每个变量?假设从 100 列开始,我只希望第 47 列有任何可能的名称?或者我可以通过它的名称来获取列?
谢谢。
【问题讨论】:
-
请不要显示文本图像,尤其是所有代码。将文本 as text 复制粘贴到问题中。
-
只要你写代码,一切皆有可能。将每一行读入
std::vector<std::string>,然后您可以对其进行索引。如果您随后还将第一行读入std::map<std::string, int>,您可以按名称抓取列。 -
至于你的问题,我建议你学习structures和classes,以及标准容器(比如
std::vector)。请记住,您可以在结构中包含一个向量(例如数据字段)。 -
是的,字符串向量是你最好的选择。然后你可以选择索引为 46 的元素。如果你附上 csv 我可以看看它
-
@Someprogrammerdude 好的,先生。下次我会正确地做。谢谢你的建议,对我的错误深表歉意。呵呵