2015-10-07 97 views
-1

我正在嘗試從JSON數據集中解析下面的小樣本行。但是,在Python中我遇到了問題。任何幫助是極大的讚賞。我的代碼差嘗試以下:Python中的JSON和SQLite3

數據集:

{ 
   "matchId": 1778839570, 
   "region": "NA", 
   "platformId": "NA1", 
   "matchMode": "CLASSIC", 
   "matchType": "MATCHED_GAME", 
   "matchCreation": 1427867835805, 
   "matchDuration": 3424, 
   "queueType": "RANKED_SOLO_5x5", 
   "mapId": 11, 
   "season": "SEASON2015", 
   "matchVersion": "5.6.0.194", 
   "participants": [ 
      { 
         "teamId": 100, 
         "spell1Id": 4, 
         "spell2Id": 11, 
         "championId": 113, 
         "highestAchievedSeasonTier": "GOLD" 
      } 
   ] 
} 

代碼:

import json 
from pprint import pprint 
fhand = json.load(open('riot.json')) 
for e in fhand: 
    print e 

注:我們的想法是,這些每一個解析爲一列,其中matchID會是一個sql表(不同)的key_id。其他元組將是具有值的列。實際上,上面的數據集中會有很多文本塊,每個塊都會對應一個matchID。謝謝您的幫助!

+3

你的問題是什麼? (「爲我寫代碼!」不是問題。)請參見[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask) –

+0

道歉!問題是,我該如何解析JSON集並將其插入到sqlite3數據庫中。感謝您的幫助提示! – archangel

回答

0

這裏fhand是一本字典。看看Python字典的文檔:dictionaries如何使用字典。

for e in fhand: 
    print e 

此代碼將打印所有鍵(或列名稱)。

for e in fhand: 
    print fhand[e] 

您可以通過使用此值來獲取值。還有其他的內建函數可以在這裏使用。檢查文檔以選擇適合您的文檔。

+0

謝謝你的快速repsonse!我瀏覽了一些文檔。你回覆的代碼有點不同。你知道爲什麼它不遵循這種模式嗎? >>>爲I,V在枚舉([ '抽動', 'TAC', '趾'): ...打印I,V ... 0抽動 1 TAC 2趾 – archangel

+0

你必須時常讀書。枚舉文檔:https://docs.python.org/2/library/functions.html#enumerate –

+0

這很有意義。枚舉在這個其他stackoverflow示例線程被用來作出(index_position,值)元組。 – archangel