これらは私のテキストファイルの内容です(例:abc.doc):
{'data': [{'name': 'abc'},{'name': 'xyz'}]}
Pythonでファイルを開いた後; すべての括弧、引用符、およびコンマを削除するにはどうすればよいですか? 最終的な出力は次のようになります。
data:
name:abc
name:xyz
を使用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
ライブラリを使用する必要があります。
import json
data = json.loads(inputstring)
# process the same way as above.
ファイル名がある場合は、ライブラリに次のコマンドを使用してファイルから直接読み取るように依頼できます。
data = json.load(filename) # note, no `s` after `load`.