1
我在將由不同長度的列表組成的JSON轉換爲熊貓數據框時遇到了一些問題。我從這樣的網頁得到JSON:從Json到Pandas Dataframe的不同長度的嵌套列表
import requests, json
import numpy as np
r = requests.get('https:a_web_page')
data = r.json()
type(data)
從這我得到了一個輸出,「數據」是一個列表。
從網頁中JSON文件是這樣的:
[ [ 1411333200000 , 0.0 , [ 0.0 , 0.0 , 10.0 , 5.4014 , 0.42247 , 0.2517 ,
0.0 , 0.0 , 0.0 , 0.0 , 0.0616 , 0.0 , 0.0]] ,
[ 1411419600000 , 0.0 , [ 0.0
, 0.0 , 10.0 , 4.8029 , 2.17222 , 2.216 , 0.0 , 0.0 , 0.0 , 0.0 , 0.800 ,
0.0 , 0.0]] ,
[ 1411506000000 , 1.13383 , [ 9.448 , 0.0 , 10.0 , 6.07 , 2.1722 , 2.97500 ,
0.0 , 0.0 , 0.0 , 0.0 , 3.8017 , 1.17 , 2.893]]]
這是因爲它可以在這個網頁被證明是正確的JSON文件:https://konklone.io/json/
我所試圖做的是轉換變量「數據」到這樣一個Dataframe:
1411333200000 0 0 0 10 5.4014 0.42247 0.2517 0 0 0 0
0.0616 0 0
1411419600000 0 0 0 10 4.8029 2.17222 2.216 0 0 0 0 0.8
0 0
1411506000000 1.13383 9.448 0 10 6.07 2.1722 2.975 0 0 0
0 3.8017 1.17 2.893
我的意思是,一個數據幀有15列和3行。
隨着正常的方式來傳遞一個列表到數據幀:DF = pd.DataFrame(數據),我得到3列,所述3TH一個爲13個的元素的列表,所以它doesn't工作:
1411333200000 0 [0 0 10 5.4014 0.42247 0.2517 0 0 0 0
0.0616 0 0]
1411419600000 0 [0 0 10 4.8029 2.17222 2.216 0 0 0 0 0.8
0 0]
1411506000000 1.13383 [9.448 0 10 6.07 2.1722 2.975 0 0 0
0 3.8017 1.17 2.893]
我也tryed扁平化「數據」與下面的代碼,但它也didn't工作:
我也tryed拆散和json_normalize,但我coudn't使它發揮作用。我不知道還有什麼可以做的,如果任何人可以給我一隻手或者給我一個建議,那就太好了..
正是我需要的,非常感謝溫! – Javi