我正在使用CSV文件,其中幾個列具有簡單的json對象(幾個鍵值對),而其他列正常。這裏有一個例子:解析使用Pandas從CSV加載的JSON字符串
name,dob,stats
john smith,1/1/1980,"{""eye_color"": ""brown"", ""height"": 160, ""weight"": 76}"
dave jones,2/2/1981,"{""eye_color"": ""blue"", ""height"": 170, ""weight"": 85}"
bob roberts,3/3/1982,"{""eye_color"": ""green"", ""height"": 180, ""weight"": 94}"
使用df = pandas.read_csv('file.csv')
後,有什麼解析最有效的方式和stats
列拆分爲其他列?
大約一個小時後,我能想出的唯一的事情就是:
import json
stdf = df['stats'].apply(json.loads)
stlst = list(stdf)
stjson = json.dumps(stlst)
df.join(pandas.read_json(stjson))
這似乎是我做錯了,這是相當多的工作的考慮,我需要做的這經常在三列。
*編輯:期望的輸出是下面的數據幀對象。添加下面的代碼在我的(糟糕)的方式到那裏線:
df = df.join(pandas.read_json(stjson))
del(df['stats'])
In [14]: df
Out[14]:
name dob eye_color height weight
0 john smith 1/1/1980 brown 160 76
1 dave jones 2/2/1981 blue 170 85
2 bob roberts 3/3/1982 green 180 94
請問您可以在問題中顯示預期結果嗎? –