【发布时间】:2017-12-06 21:08:56
【问题描述】:
我无法弄清楚如何将多个 .csv 文件存储到字典中,然后分别打印键和值。我必须获取 6 个 .csv 文件,它们都包含不同的信息,并将它们加载到字典中,然后编写代码,以便我能够将键与其关联的各种值隔离开来,以便我可以打印 ie。 “动物”吃掉“猎物 1、猎物 2 等”。
我认为我必须分别处理每个文件,因此需要 6 个不同的循环来为每个键/值列表获取正确的输出,但我尝试过的所有操作都给了我一条错误消息。 以下是 csv 文件的示例和预期输出:
file1.csv:
Rabbit,Grass
Snake,Mouse
Mouse,Grass
输出:
Predator and prey:
"Rabbit eats grass"
"Snake eats mouse"
"Mouse eats grass"
这是我目前对一个文件的代码:
import sys
import csv
inf = open("file1.csv", "r")
reader = csv.reader(inf)
data = {}
for row in reader:
for i in data.keys():
print(data[i], "eats", i)
我知道它不对,但我不确定当它是 .csv 文件时如何隔离字典中的键。我是编码新手,所以任何帮助将不胜感激! :) 我正在使用 python3。 谢谢!!
【问题讨论】:
-
一种快速(但有点慢)的方法是使用
csv.DictReader将您的 CSV 作为字典加载,然后您可以合并它们以产生累积结果。 -
谢谢!不过,我对 python3 中的格式有点不确定,因为它不适用于我在网上看到的内容。
-
向我们展示一些来自 2 个 csv 文件的示例数据和预期输出
-
我已经包含了一个文件的示例,其余文件相同,但捕食者和猎物不同,有些包括多个猎物。
标签: python python-3.x