我们有一个csv,其中有几列我们要转换成字典,最终要转换成JSON对象。我们要嵌套其中两个列。因此,给出以下数据框:
Orig Dest B C
0 1 3 3 2
1 1 2 3 2
2 1 1 0 9
0 2 3 3 2
1 2 2 3 2
2 2 1 0 9
我们希望这个结果如下:
Orig: 1 {
Dest:3 {
B: 3, C:2}
Dest:2 {
B: 3, C: 2}
...
Orig: 2 {
Dest:3 {
B: 3, C:2}
Dest:2 {
B: 3, C: 2}
....
这是到目前为止我们尝试过的:
MSOAs = csvfile.residence.unique()
MSOAdict2 = dict()
MSOAdicts = []
csvfile.reset_index(drop=True, inplace=True)
for x in MSOAs:
MSOAorigin = csvfile.loc[csvfile["residence"] == x]
MSOAorigin.drop(["residence"], axis =1, inplace = True)
MSOAdests = MSOAorigin.workplace.unique()
for y in MSOAdests:
MSOAdest = MSOAorigin.loc[MSOAorigin["workplace"] == y]
MSOAdest.drop(["workplace"], axis =1, inplace = True)
destlistvalues = []
#print(MSOAdest.to_dict('r'))
destlistvalues.append(MSOAdest.to_dict('r'))
destDict = dict(zip(MSOAdests, destlistvalues))
print(destDict)
MSOAdicts.append(destDict)
finaldict = dict(zip(MSOAs, MSOAdicts))
这为我们提供了一些方法,例如,我们获得了列表的字典,但无法将其合并回原点的第一个巢穴。