首页 > 解决方案 > 如何从文件中制作字典?

问题描述

我有以下文件(制表符分隔):

ID  Name    Abbr    Disctrict
*data*
1   Newcastle   NC  AA,BB,CC
2   Manchester  MCR AA,DD,FF
3   Liverpool   LV  FF,GG,HH

我试图在字典中放置index[1]键和值。index[3]它似乎还没有工作。

my_dict = {}

path = (r'c:\data\GG\Desktop\Extra\UK_test_cities.txt')

with open(path, 'r') as f:
    for line in f:
        (key, val) = line.split()
        my_dict[int(key)] = val

这是我的输出:

  File "c:/data/GG/Desktop/Extra/test_1.py", line 17, in <module>
    (key, val) = line.split()
ValueError: too many values to unpack (expected 2)

这是我想要的输出:

my_dict = {'Newcastle': ['AA,BB,CC'],
           'Manchester': ['AA,DD,FF'],
           'Liverpool': ['FF,GG,HH']}

标签: pythonlistdictionary

解决方案


每行有 4 列


from collections import defaultdict 

path = (r'c:\data\GG\Desktop\Extra\UK_test_cities.txt')
my_dict=defaultdict()

with open(path, 'r') as f:
    content = f.readlines()
for line in content[2:]: #First two line does not contain data
    _,key,_,val = line.split()
    my_dict[key] = val


推荐阅读