这些是我的文本文件的内容(例如:abc.doc):
{'data': [{'name': 'abc'},{'name': 'xyz'}]}
在python中打开文件后;如何删除所有括号,引号和逗号。 最终输出应为:
data:
name:abc
name:xyz
答案 0 :(得分:4)
使用ast.literal_eval()
将其转换为python结构,然后打印值:
with open(r'd:\output1.doc', 'r') as inputfile:
inputstring = inputfile.read()
data = ast.literal_eval(inputstring)
for key, sublist in data.items():
print '{}:'.format(key)
for subdict in sublist:
for key, value in subdict.items():
print('{}:{}'.format(key, value))
对于您的示例,结果为:
>>> inputstring = "{'data': [{'name': 'abc'},{'name': 'xyz'}]}"
>>> import ast
>>> data = ast.literal_eval(inputstring)
>>> for key, sublist in data.items():
... print '{}:'.format(key)
... for subdict in sublist:
... for key, value in subdict.items():
... print '{}:{}'.format(key, value)
...
data:
name:abc
name:xyz
然而:如果你从Facebook API获得这个,那么你就错误地转录了格式。 Facebook API为您提供JSON数据,使用双引号("
)代替:
{"data": [{"name": "abc"},{"name": "xyz"}]}
在这种情况下,您应该使用Python附带的json
library:
import json
data = json.loads(inputstring)
# process the same way as above.
如果您有文件名,可以让图书馆直接从文件中读取:
data = json.load(filename) # note, no `s` after `load`.
答案 1 :(得分:0)