0

我打开并从 argv 读取 csv 文件到字典

data = open(argv[1])
reader = csv.DictReader(data)
dict_list = []
for line in reader:
    dict_list.append(line)

现在当我想像这样访问 csv 文件的内容时:

for x in dict_list[0]:
    print(x)

我得到的是:

"OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])"

使用此功能:

for x in dict_list[0]:
    print(x)

我得到这个结果:

name
AGATC
AATG
TATC

你能帮我访问“爱丽丝”、“2”、“8”和“3”吗?

4

2 回答 2

0

我将 OrderedDict dict_list 设为字典,现在我可以访问键的值:

for x in dict_list:
    temp  = dict(x)
    for y in types_count:
        print(temp.get(y))
于 2020-03-12T08:42:46.043 回答
0

您可以通过几种方式遍历字典。

让我们用你的值初始化字典:

from collections import OrderedDict
dict_list = OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])

这让我们:

OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])

然后您可以遍历每个键,然后查询附加的值:

for k in dict_list:
    print(f"key={k}, value={dict_list[k]}")

你会得到:

key=name, value=Alice
key=AGATC, value=2
key=AATG, value=8
key=TATC, value=3

或者,您可以同时获取键和值:

for (k, v) in dict_list.items():
    print(f"key={k}, value={v}")

这将为您提供相同的输出:

key=name, value=Alice
key=AGATC, value=2
key=AATG, value=8
key=TATC, value=3
于 2020-03-11T23:01:47.780 回答