将.csv导入字典

2024-10-01 09:30:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将.csv文件导入dict。 我的问题是,当我试图从dict中读取时,我没有得到输出? 为什么?在

.csv文件如下所示:

F59241,GG1212
F65563,QQ434
F59226,WW343
F69215,CC434

我试过的是:

^{pr2}$

谁能告诉我我做错了什么吗? 谢谢


Tags: 文件csvdictpr2f65563qq434ww343f69215
2条回答

正如Nirk指出的,with块在退出时将关闭文件,因此当您试图读取文件(通过迭代reader)时,它会引发一个错误。您需要使用loop在内部创建字典,或者将文件的内容放入内存中。我的建议如下:

from csv import reader
with open('myfile.csv',mode='r') as infile:
    d = dict(reader(infile))

>>> d
{'F59226': 'WW343', 'F65563': 'QQ434', 'F59241': 'GG1212', 'F69215': 'CC434'}

with构造在退出块时关闭文件。您需要先用块读取infile中的数据

import csv

with open('myfile.csv', mode='r') as infile:
    reader = csv.reader(infile,)
    DICT = {rows[0]:rows[1] for rows in reader if len(rows) == 2}
    print DICT

n = ['F59241', 'F65563', 'F59226', 'F69215']

for key in n:
    if DICT.get(key):
        print ((key) + ' : ' + DICT[key])
    else:
        print((key) + ' : ' + "Not Available")

相关问题 更多 >