使用Pandas将CSV转换为嵌套JSON复杂结构

2024-09-30 00:22:45 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Pandas转换为嵌套的JSON文件

这是一行的csv示例

name      type  aitm      alitm     aaitm           adsc1   
specs     glass 70072187  ESA65Z45  ESA 65Z45       CUT TIP FG 1808-40  

我试图为每一行实现嵌套JSON的下面的结构


Tags: 文件csvnamejson示例pandastypeglass
1条回答
网友
1楼 · 发布于 2024-09-30 00:22:45
import pandas as pd
import json

df = pd.DataFrame([['specs','glass','70072187','ESA65Z45','ESA 65Z45','CUT TIP FG 1808-40'],
                   ['specs','glass','666','ESA6665','ESB 666','CUT TIP FG 66-40']],
                       columns = ['name', 'type','aitm','alitm','aaitm','adsc1' ])


data = {'entities':[]}
for key,grp in df.groupby('name'):
    for idx, row in grp.iterrows():
        temp_dict_alpha = {'name':key, 'type':row['type'], 'data':{'attributes':{}}}

        attr_row = row[~row.index.isin(['name','type'])]
        for idx2, row2 in attr_row.iteritems():
            dict_temp = {}
            dict_temp[idx2] = {'values':[]}
            dict_temp[idx2]['values'].append({'value':row2,'source':'internal','locale':'en_US'})

            temp_dict_alpha['data']['attributes'].update(dict_temp)

        data['entities'].append(temp_dict_alpha)


print(json.dumps(data, indent= 4))   

输出:

^{pr2}$

相关问题 更多 >

    热门问题