如何在python中轻松从文件中提取数据

时间:2015-08-23 23:26:03

标签: python text

我有一个带有可变信息的.txt文件,我需要读取它以将它们转换为对象,该文件被写为列表和字典,是否有一种简单的方法以这种格式读取它们?

这是txt中写的内容的一个例子:

[
 {
  "arg1":value1,
  "arg2":value2
 },
 {
  "arg1":value3,
  "arg2":value4
 },
]

3 个答案:

答案 0 :(得分:1)

这是有效的JSON;使用json模块。

import json

with open('file.txt', 'r') as infile:
    data = json.load(infile)

答案 1 :(得分:1)

您可以将输入数据解释为yaml format

[{'arg1': 'value1', 'arg2': 'value2'}, {'arg1': 'value3', 'arg2': 'value4'}]

结果

{{1}}

答案 2 :(得分:0)

如果它只是列表和词典,您可以使用ast.literal_eval。以你的例子:

>>> import ast
>>> content = open('input.txt').read()
>>> lst = ast.literal_eval(content)
>>> lst
[{'arg1': 'value1', 'arg2': 'value2'}, {'arg1': 'value3', 'arg2': 'value4'}]

请注意,我也引用了这些值,否则在评估字符串时会出错。但如果值是数字,它将正常工作。