从文件读取到Python数据结构

时间:2015-08-16 17:31:59

标签: python

我有一个文件格式如下:

[
["unique_id1", {"cc":15, "dd":30}], ["unique_id2", {"cc": 184,"dd":10}], ...
]

我想直接读取文件并将数据放入Python数据结构中。现在,我正在使用正则表达式进行处理。是否有一个我不想直接阅读的命令?

3 个答案:

答案 0 :(得分:3)

此文件格式可能来自您向我们展示的JSON。

您可以通过执行

来解析它
import json
out = json.load(file_object)

要么是它的文字

out = eval(file_object.read())

OR(首选)

import ast
out = ast.literal_eval(file_object.read())

答案 1 :(得分:2)

您可以使用literal_eval

addslashes()

答案 2 :(得分:0)

你应该使用ast.literal_eval(),它将包含Python对象的字符串转换为Python对象:

>>> import ast
>>> l = ast.literal_eval('[1, 2, 3]')
>>> type(l)
<class 'list'>
>>> l
[1, 2, 3]

因此,您将从文件中读取数据并将其转换为列表:

with open('file.txt') as infile:
    data = ast.literal_eval(infile.read())