1

これらは私のテキストファイルの内容です(例:abc.doc):

{'data': [{'name': 'abc'},{'name': 'xyz'}]}

Pythonでファイルを開いた後; すべての括弧、引用符、およびコンマを削除するにはどうすればよいですか? 最終的な出力は次のようになります。

data:
name:abc
name:xyz             
4

2 に答える 2

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ライブラリを使用する必要があります。

import json

data = json.loads(inputstring)
# process the same way as above.

ファイル名がある場合は、ライブラリに次のコマンドを使用してファイルから直接読み取るように依頼できます。

data = json.load(filename)  # note, no `s` after `load`.
于 2013-02-05T14:17:49.890 に答える
0

pyjsonを使用して簡単に解析できるjsonがあるように見えます:

import json
obj=json.loads(u'''{'data': [{'name': 'abc'},{'name': 'xyz'}]}''')

ボブは今、あなたの叔父さんですよね?

于 2013-02-05T14:22:45.823 に答える