我有以下制表符分隔的文本文件:
1 John 27 doctor Chicago
2 Nick 33 engineer Washington
我正在尝试将其转换为python字典,其中键是NAME,年龄,职业和地址是值。我想排除排名(1,2(。
法典:
myfile = open ("filename", "r")
d = { }
for line in myfile:
x = line.strip().split("t")
key, values = int(x[0]), x[1:]
d.setdefault(key, []).extend(values)
print(d)
您可以将其转换为按名称索引的字典,其中包含元组中的值:
d = {}
with open('filename', 'r') as myfile:
for line in myfile:
_, name, *values = line.strip().split("t")
d[name] = values
print(d)
使用您的示例输入,这将输出:
{'John': ('27', 'doctor', 'Chicago'), 'Nick': ('33', 'engineer', 'Washington')}
你没有解释你面临的困难。 但是,从制表符分隔的文本示例中,您希望具有以下字典:
{'John': ['27', 'doctor', 'Chicago'], 'Nick': ['33', 'engineer', 'Washington']}
如果这是您想要达到的输出,那么我稍微修改了您的代码。
myfile = open ("filename", "r")
d = { }
for line in myfile:
x = line.strip().split("t")
key, values = x[1], x[2:]
d.setdefault(key, []).extend(values)
print(d)