2013-12-19 47 views
0

提取信息如何提取ID,喜歡的名稱,類別,從這個josn文件CREATED_TIME,它來自Facebook的圖形API從JSON

{ 
    "rows" : [ 
    { 
     "id" : "145907652175534", 
     "interests" : "{\"likes\":150319,\"id\":\"145907652175534\"}", 
     "name" : "The Lion, the Witch and the Wardrobe", 
     "category" : "Book", 
     "created_time" : "2013-12-19T16:15:01+0000" 
    }, 
    { 
     "id" : "190616700999052", 
     "interests" : "{\"likes\":1027992,\"id\":\"190616700999052\"}", 
     "name" : "C. S. Lewis", 
     "category" : "Author", 
     "created_time" : "2013-12-19T16:14:47+0000" 
    }, 
    { 
     "id" : "577324418996792", 
     "interests" : "{\"likes\":1672,\"id\":\"577324418996792\"}", 
     "name" : "Big Data", 
     "category" : "Community", 
     "created_time" : "2013-12-19T16:14:38+0000" 
    }, 
    { 
     "id" : "134488303306371", 
     "interests" : "{\"likes\":5718,\"id\":\"134488303306371\"}", 
     "name" : "Big Data University", 
     "category" : "Computers/internet website", 
     "created_time" : "2013-12-19T16:14:21+0000" 
    } 
    ] 
} 
+3

還有,你試過這麼遠嗎?你用'csv'標記了這個,你是否想創建一個帶有這些信息的CSV文件? –

+0

是的。我想要有五列(id,likes,name,category,created_time)。請幫忙!謝謝! – user3103778

回答

0

你可以不喜歡它:

import json 

data_list = json.loads(json_data) 
ans_list = [] 
data_list = data['rows'] 
for row in data_list: 
    ans_list.append(row['id'], row['interests'], row['name'], row['category'], row['created_time']) 
print(ans_list) 
+0

'data'從哪裏來?用戶有一個JSON字符串(我假設),而不是一個Python對象。 – mrKelley

+0

感謝您的回答。但是,我如何訪問喜歡,這是內部利益?例如,我想在一列中提取150319,1027992,1672,5718。 – user3103778

+0

在'for loop'中,你可以像''interest''['likes']''獲得像'interest'這樣的'likes'。 – greg

2

有一個叫json標準庫,你將有興趣

import json 

jstring = ##insert your json string here### 

data = json.loads(jstring) 

data將成爲嵌套字典/列表的python對象。你應該從那裏嘗試一下,弄清楚如何訪問你想要的東西。

如果你想寫一個CSV,你應該檢查出csv

import csv 

data = ### a list of lists ### 

with open('filename.csv', 'w') as f: 
    csv.writer(f).writerows(data)