2017-09-18 24 views
2

我正在從文本文件讀取json數組,然後創建一個空的數據框。我想添加一個新的'id'列到空的數據框。 'id'來自文本文件中的json數組。在空數據框上設置列

錯誤消息顯示「無法設置沒有定義索引的幀和無法轉換爲序列的值」。我試圖通過定義前面沒有幫助的數據幀大小來克服這個錯誤。有任何想法嗎?

import json 
import pandas as pd 

path = 'my/path' 
mydata = [] 
myfile = open(path, "r") 

for line in myfile: 
    try: 
     myline = json.loads(line) 
     mydata.append(myline) 
    except: 
     continue 

mydf = pd.DataFrame() 
mydf['id'] = map(lambda myline: myline['id'], mydata) 

回答

0

我覺得更好的是使用:

for line in myfile: 
    try: 
     #extract only id to list 
     myline = json.loads(line)['id'] 
     mydata.append(myline) 
    except: 
     continue 

print (mydata) 
[10, 5] 

#create DataFrame by constructor 
mydf = pd.DataFrame({'id':mydata}) 
print (mydf) 
    id 
0 10 
1 5 
+0

謝謝jezrael!這解決了我的問題。 –