2017-03-07 103 views
-2

我已經得到了下面的.json文件,必須被轉換成列表的Python列表進行進一步分析。JSON到列表列表 - Python

這裏是輸入看起來怎麼樣:

[{"RFA_2F":4,"RFA_2A":"E","TARGET_B":0,"LASTGIFT":5,"AVGGIFT":7.4814814815,"PEPSTRFL":"X","LASTDATE":9512,"WEALTH_INDEX":3.33,"INCOME":3,"FISTDATE":9001,"NAME":"Reshama Y. Saat"}, 
{"RFA_2F":4,"RFA_2A":"E","TARGET_B":0,"LASTGIFT":10,"AVGGIFT":6.8125,"PEPSTRFL":"X","LASTDATE":9512,"WEALTH_INDEX":2.60,"INCOME":1,"FISTDATE":8702,"NAME":"Alex P. Singh"}, 
{"RFA_2F":1,"RFA_2A":"E","TARGET_B":0,"LASTGIFT":11,"AVGGIFT":7.6428571429,"PEPSTRFL":"X","LASTDATE":9504,"WEALTH_INDEX":5.14,"INCOME":4,"FISTDATE":8701,"NAME":"Vamsee M. Doban"},...] 

的代碼我目前正在使用:

import json 
f = open('assess2_data.json') 
d = json.load(f) 

training = [] 
for row in d: 
    for field in row: 
     row = [] 
     row.append([field]) 
    training.append(row) 

我知道有一個錯誤,但我不能想辦法解決這一問題:

類型錯誤:列表索引必須是整數,不是Unicode

輸出應該是這樣的:

[[4,"E",0,5,7.4814814815,"X",9512,3.33,3,9001,"Reshama Y. Saat"],...] 

回答

1

JSON文件很簡單,所以你可以通過使用dict.values()

import json 
with open('test.json') as f: 
    d = json.load(f) 
    print [row.values() for row in d] 
+0

感謝您快速響應,@McGrady得值!有沒有辦法獲得實際的字符串,而不是unicodes? –

+0

嘗試'str()'方法,看看[Python字符串打印爲u'String'](http://stackoverflow.com/questions/599625/python-string-prints-as-ustring)和[如何將Unicode字符串轉換爲常規字符串](http://stackoverflow.com/questions/4855645/how-to-turn-unicode-strings-into-regular-strings) – McGrady