我有一个文本文件,内容如下:
name,number,number,number
name,number,number,number
...
我想从中创建一个字典。我找到了这段代码:
file = open('Results.txt', 'r')
lines = file.read().splitlines()
s = {lines[i]:[float(k) for k in lines[i+1:i+4]] for i in range(0,len(lines),4)}
但是它仅适用于具有以下格式的文件:
name
number
number
number
name
number
number
number
...
如何让我的格式化?此外,如果名称后面的数字少于3个,是否可以使其仍然有效?
答案 0 :(得分:1)
以下内容将处理文件每行后面带有一个或多个逗号分隔数字的行:
with open('Results.txt') as file:
s = {items[0]: [float(item) for item in items[1:]]
for items in (line.split(',') for line in file)}