我想用 python 从 csv 文件制作字典,但我有多个类别。我希望键是 ID 号,值是项目的名称。这是文本文件:
"ID#","name","quantity","price"
"1","hello kitty","4","9999"
"2","rilakkuma","3","999"
"3","keroppi","5","1000"
"4","korilakkuma","6","699"
这是我目前所拥有的:
txt = open("hk.txt","rU")
file_data = txt.read()
lst = [] #first make a list, and then convert it into a dictionary.
for key in file_data:
k = key.split(",")
lst.append((k[0],k[1]))
dic = dict(lst)
print(dic)
虽然这只是打印一个空列表。我希望键是 ID#,然后值将是产品的名称。我将制作另一个字典,其中名称作为键,ID# 作为值,但我认为这将是同一件事,但相反。
最佳答案
使用 csv
module处理您的数据;它将删除引号并处理拆分:
results = {}
with open('hk.txt', 'r', newline='') as txt:
reader = csv.reader(txt)
next(reader, None) # skip the header line
for row in reader:
results[row[0]] = row[1]
对于您的样本输入,这会产生:
{'4': 'korilakkuma', '1': 'hello kitty', '3': 'keroppi', '2': 'rilakkuma'}
关于Python - 从具有多个类别的 csv 文件制作字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17862585/