Python:将文本文件转换为字典

问题描述 投票:-2回答:2

我想转换但出现错误

A 123 132 21
B 34 293 91

d = {}
with open("ab.txt") as f:
    for line in f:
        (key, val) = line.split()
        d[(key)] = val
print(d)
python
2个回答
0
投票

取决于您要实现的目标,或者:

  1. line.split()替换line.split(maxsplit=1)-这样字典的值将是类似于"123 132 21"
  2. 的字符串
  3. (key, val) = line.split()替换(key, *val) = line.split()-这样,字典的值将是像[123, 132, 21]的列表

0
投票

您可能收到“ ValueError:太多值以至无法解包(预期2)”错误。

我假设您正在尝试创建一个字典,结果将是:

d = {'A': ['123', '132', '21'], 'B': ['34', '293', '91']}

如果是这种情况,则需要:

d = {}
with open("ab.txt") as f:
    for line in f:
        (key, *val) = line.split() # this will allow val to become a list of the remaining values
        d[key] = val
print(d)

您只是在*之前错过了val


-1
投票

Yon可以这样做:

fichier = open("ab.txt", 'r')

d = {}
for line in fichier.readlines():
    d[line[0]] = line[1:].rstrip()

print(d)

输出:

{'A': ' 123 132 21', 'B': ' 34 293 91'}

如果您听不懂,请问我:)。

© www.soinside.com 2019 - 2024. All rights reserved.