2016-09-09 6 views
-3

私はJSONとPythonを初めて使っています。これに関する助けがあれば幸いです。jsonファイルをどのようにしてPythonに読み込むのですか?

私はjson.loadsについて読んだが、私はjson.loadsを使ってPythonにファイルを読み込むにはどうすればよい混乱し

のですか?

{ 
     "header": { 
     "platform":"atm" 
     "version":"2.0" 
     } 
     "details":[ 
     { 
     "abc":"3" 
     "def":"4" 
     }, 
     { 
     "abc":"5" 
     "def":"6" 
     }, 
     { 
     "abc":"7" 
     "def":"8" 
     }  
     ] 
    } 

私の要件は詳細にすべて​​"def"の値を読んで、これは、このような新しい[(1,2),(3,4),(5,6),(7,8)]リストにある追加することです。

は、以下の私のJSONファイル形式です。新しいリストは、スパークデータフレームを作成するために使用されます。

+1

あなたがあなたの質問に質問を含めるのを忘れているようです。 – Biffen

+0

あなたの質問は何ですか?何を試しましたか? – wander95

+0

どのように私は上記のPythonで達成することができます。私はjson.loadsについて読んでいますが、混乱しています:( –

答えて

1

ファイルを開き、そしてファイルハンドルを取得:json.loadにファイルハンドルを渡し、その後

fh = open('thefile.json') 

https://docs.python.org/2/library/functions.html#open

を():(負荷を使用していない - それは、文字列のためです)

そこから
import json 
data = json.load(fh) 

https://docs.python.org/2/library/json.html#json.load

、することができますjsonでエンコードされたデータを表すPython辞書を簡単に処理できます。

new_list = [(detail['abc'], detail['def']) for detail in data['details']] 

JSON形式も間違っています。コンマ区切り文字は多くの場所で必要ですが、それは問題ではありません。

1

私は可能な限りあなたの質問を理解しようとしていますが、フォーマットが間違っているようです。

まず、あなたのjsonブロブは有効なjsonではありません。かなりの数のカンマがありません。今、あなたはあなたが次のことを行う必要がありますpythonでこれを解析しようとしていると仮定し

{ 
    "header": { 
     "platform": "atm", 
     "version": "2.0" 
    }, 
    "details": [ 
     { 
      "abc": "3", 
      "def": "4" 
     }, 
     { 
      "abc": "5", 
      "def": "6" 
     }, 
     { 
      "abc": "7", 
      "def": "8" 
     } 
    ] 
} 

:これは、あなたが探しているものと考えられます。

import json 

json_blob = '{"header": {"platform": "atm","version": "2.0"},"details": [{"abc": "3","def": "4"},{"abc": "5","def": "6"},{"abc": "7","def": "8"}]}' 
json_obj = json.loads(json_blob) 

final_list = [] 

for single in json_obj['details']: 
    final_list.append((int(single['abc']), int(single['def']))) 

print(final_list) 

これは、次の印刷されます:[(3、4)、(5、6)、(7、8)]

+0

FlipMcFが記述されているので、ファイルから読み込んでいる場合、json.load()は読み込みのようなファイルを扱います。これはpythonのドキュメントで言及されています – JJK

+0

ありがとう!!カフカの待ち行列からメッセージを読む –

関連する問題