从文本文件创建字典

时间:2015-01-25 13:33:33

标签: python dictionary

我有一个文本文件,内容如下:

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个,是否可以使其仍然有效?

1 个答案:

答案 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)}