从文件添加行作为字典列出Python

时间:2016-03-12 18:17:17

标签: python list file dictionary

我试图导入包含这样的行的文件:

 { "dictitem" : 1, "anotherdictitem" : 2 }

我想将它们导入到这样的词典列表中:

[{ "dictitem" : "henry", "anotherdictitem" : 2 },{ "dictitem" : "peter", "anotherdictitem" : 4 },{ "dictitem" : "anna", "anotherdictitem" : 6 }]

我试过了:tweetlist = open("sample.out").readlines()

然后他们被附加为字符串。有没有人有想法? 谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用json解码每一行。例如:

import json

list = []
with open("data.txt", 'r') as file:
    for line in file:
        dict = json.loads(line)
        list.append(dict)

print(list)

答案 1 :(得分:0)

你可以使用这样的列表理解在每一行上使用AST库的literal_eval函数:

import ast
tweetlist = [ast.literal_eval(x) for x in open("sample.out").readlines()]

ast.literal_evaleval函数的更安全版本,不执行函数。