2017-07-05 16 views
0

入れ子になったJSONファイルをインポートしようとしています。PythonでJSONファイルを解析します。

from pandas.io.json import json_normalize 
data_json = open("prueba.json",mode='r', encoding="utf8").read().replace('\n', '').replace('\t', '') 
data_python = json.loads(data_json) 

json_normalize(data_python['funds']) 

このコードは正常に動作しますが、フィールドの取引が拡大するために

を展開されていません:私は、Python 3.0 JSONファイルは、私はこのコードを使用しています。この

"funds": [ 
    { 
     "branch": "****", 
     "controlDigits": "**", 
     "accountNumber": "7605390244", 
     "balance": { 
     "amount": "71.1", 
     "currency": "EUR" 
     }, 
     "fundName": "Eurobits Funds 0", 
     "webAlias": "Eurobits Funds 0", 
     "performance": "4.41", 
     "performanceDescription": "", 
     "yield": { 
     "amount": "0.0", 
     "currency": "EUR" 
     }, 
     "quantity": "10.00", 
     "valueDate": "30/03/2017", 
     "transactions": [ 
     { 
      "operationType": "1", 
      "operationDescription": "MOVILIZACION HACIA DENTRO", 
      "operationDate": "30/03/2017", 
      "fundName": "B EVOLUCION PRUDEN", 
      "quantity": "-809.27", 
      "unitPrice": "7.98", 
      "operationAmount": { 
      "amount": "-6457.97", 
      "currency": "EUR" 
      } 
     } 
     ] 
    } 
    ] 

のように見えるを使用していますトランザクション私はこれを試した:

json_normalize(data_python,['funds','transactions']) 

取引が展開されているが、私はそれに加えて、他の情報 を失う、フィールドの量は次のようになります。

{「量」:「1.00」、「通貨」:「」}

と私がすることはできませんよ別のフィールドに取得する

私の質問は、どのようにして1つのデータフレームにすべての情報を組み合わせることができますか?

答えて

0

代わりにd['funds'][0]['transactions']を試してください.dは辞書の名前です。

+0

ありがとうございます。取引は拡大されましたが、「accountNumber」のような資金からどのように情報を追加できますか? –

+0

次のコードを使用しました。json_normalize(data_python ['funds'] [0] ['transactions']) –

+0

これは別のクエリです。 'd ['funds'] [0] ['accountNumber']' –

関連する問題