我正在尝试将.csv文件导入dict。 我的麻烦是,当我尝试从dict中读取时,我没有得到输出? WHY ??
.csv文件看起来像这样:
F59241,GG1212
F65563,QQ434
F59226,WW343
F69215,CC434
我尝试过的是絮絮叨叨:
import csv
with open('myfile.csv', mode='r') as infile:
reader = csv.reader(infile,)
with open('mtfile.csv', mode='w') as outfile:
writer = csv.writer(outfile)
DICT = {rows[0]:rows[1] for rows in reader}
n = ['F59241', 'F65563', 'F59226', 'F69215']
for key in n:
if DICT.get(key):
print ((key) + ' : ' + DICT[key])
else:
print((key) + ' : ' + "Not Available")
谁能告诉我,我做错了什么? 感谢
答案 0 :(得分:6)
退出块时,with construct 会关闭文件。您需要首先使用块<{1}}读取数据
infile
答案 1 :(得分:1)
正如Nirk指出的那样,with
块会在文件退出时关闭文件,因此当您尝试读取文件时(通过迭代reader
),它会引发错误。您需要使用循环创建字典,或将文件的内容带入内存。我的建议如下:
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'}