熊猫将Dataframe转换为Nested Json
发布于 2021-01-29 15:22:23
我的问题本质上与此相反:
我想知道是否有可能做相反的事情。给定一个像这样的表:
Library Level School Major 2013 Total
200 MS_AVERY UGRAD GENERAL STUDIES GEST 5079
201 MS_AVERY UGRAD GENERAL STUDIES HIST 5
202 MS_AVERY UGRAD GENERAL STUDIES MELC 2
203 MS_AVERY UGRAD GENERAL STUDIES PHIL 10
204 MS_AVERY UGRAD GENERAL STUDIES PHYS 1
205 MS_AVERY UGRAD GENERAL STUDIES POLS 53
是否可以生成嵌套的字典(或JSON),如:
字典:
{'MS_AVERY':
{ 'UGRAD' :
{'GENERAL STUDIES' : {'GEST' : 5}
{'MELC' : 2}
...
关注者
0
被浏览
42
1 个回答
-
在给定
DataFrame
对象的情况下,创建一个函数似乎可以构建递归字典似乎并不难:def fdrec(df): drec = dict() ncols = df.values.shape[1] for line in df.values: d = drec for j, col in enumerate(line[:-1]): if not col in d.keys(): if j != ncols-2: d[col] = {} d = d[col] else: d[col] = line[-1] else: if j!= ncols-2: d = d[col] return drec
会产生:
{'MS_AVERY': {'UGRAD': {'GENERAL STUDIES': {'PHYS': 1L, 'POLS': 53L, 'PHIL': 10L, 'HIST': 5L, 'MELC': 2L, 'GEST': 5079L}}}}