如何使用python从csv创建字典

2024-06-26 01:41:33 发布

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

我有一个csv文件,格式如下:

spelling, pronunciation, syllables, tag
head, H-EH-D, 1, NSING
bottle, B-O-T-UH-L, 2, NSING
fall, F-AW-L, 1, VBASE

我想将其转换为以下形式的词典: '头':['H-EH-D','1','NSING']


Tags: 文件csvbottletag格式headawspelling
2条回答

(使用csv库,感谢@Serge Ballesta的建议)

此解决方案可能适用于您:

import csv
result = {}
# open file
with open("file.csv", "r") as csv_file:
    parsed_csv = csv.reader(csv_file) # parse data with csv library
    next(parsed_csv) # skip first line
    # store line in dictionnary
    for line in parsed_csv:
        result[line[0]] = line[1:]
print(result)

此代码将打印:

{"head": ["H-EH-D", "1", "NSING"], "bottle": ["B-O-T-UH-L", "2", "NSING"], "fall": ["F-AW-L", "1", "VBASE"]}

以你为例

我创建了test.csv文件,仅使用以下两个输入:

head,H-EH-D,1,NSING
bottle,B-O-T-UH-L,2,NSING

我的代码:

import csv

my_dict = {}
with open('test.csv', mode='r') as infile:
    reader = csv.reader(infile)
    for row in reader:
        key, value = row[0], row[1:]
        # my_dict={rows[0]:rows[1:] for rows in reader}
        my_dict[key] = value

print(my_dict)

上述代码的输出如下所示:

{'head': ['H-EH-D', '1', 'NSING'], 'bottle': ['B-O-T-UH-L', '2', 'NSING']}

相关问题 更多 >