Python从具有多个类别的csv文件生成词典

2024-09-29 23:21:38 发布

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

我试图用python中的csv文件制作字典,但我有多个类别。我希望键是ID号,值是项的名称。以下是文本文件:

"ID#","name","quantity","price"
"1","hello kitty","4","9999"
"2","rilakkuma","3","999"
"3","keroppi","5","1000"
"4","korilakkuma","6","699"

到目前为止我得到的是:

^{pr2}$

不过,这只是打印一个空列表。我希望键是ID#,然后值将是产品的名称。我将编写另一个字典,以名称为键,以ID为值,但我认为这是同一件事,但反过来是相反的。在


Tags: 文件csvname名称idhello字典类别
3条回答

您可以直接使用字典:

dictionary = {}
file_data.readline()   # skip the first line         
for key in file_data:
    key = key.replace('"', '').strip()
    k = key.split(",")
    dictionary[k[0]] = k[1]

使用^{} 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]

对于示例输入,将生成:

^{pr2}$

您可以使用csv DictReader

import csv

result={}
with open('/tmp/test.csv', 'r', newline='') as f:
    for d in csv.DictReader(f):
        result[d['ID#']]=d['name']

print(result)
# {'1': 'hello kitty', '3': 'keroppi', '2': 'rilakkuma', '4': 'korilakkuma'}

相关问题 更多 >

    热门问题