我有一个文件格式如下:
[
["unique_id1", {"cc":15, "dd":30}], ["unique_id2", {"cc": 184,"dd":10}], ...
]
我想直接读取文件并将数据放入Python数据结构中。现在,我正在使用正则表达式进行处理。是否有一个我不想直接阅读的命令?
答案 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())