使用Python或Pandas将类似透视表的数据转换为JSON

clj7thdc  于 2023-03-04  发布在  Python
关注(0)|答案(1)|浏览(133)

我是python的新手,我在将一些csv数据转换为json数据时遇到了问题。
这是csv格式的数据

原始数据

编辑1:Link to sample excel file
透视数据

这个数据的透视转换如下:基本上它对配置文件进行分组,并列出与之关联的所有ID

我尝试使用python和panda将上述数据转换为以下格式:

[
    {
        "profile": "SG-1234-BOM-A",
        "ids": ["8695e561-....639", "a65744ae-....9cb54"]
    },
    {
        "profile": "SG-4567-PUN02",
        "ids": ["6ee0f559-....96b08"]   
    },
    {
        "profile": "SG-7527-DEL02",
        "ids": ["6f2c.....62ba", "78f2.....fc939", "8885....0dc"]   
    }
   ]

我也尝试过使用以下代码:

gp = df.groupby(['profile']).apply(lambda x: x.to_json(orient='records')).to_dict()

没有运气与任何我尝试。我有10000+行需要在json格式化。任何帮助将不胜感激!提前感谢

wrrgggsh

wrrgggsh1#

使用以下方法:

df.groupby('profile')['id'].apply(list)\
    .reset_index(name='ids').to_dict(orient='records')
[{'profile': 'SG-1234-BOM-A',
  'ids': ['8298-hdfbs-37483-s', 'dhduf-7435-4897h-a']},
 {'profile': 'SG-4567-PUN02', 'ids': ['game-uio-09349-831']},
 {'profile': 'SG-7527-DEL02',
  'ids': ['2342-5648-9637-abc',
   '4587-9721-4547-ytf',
   '4654-a123-b789-09d',
   '1234-gt3g-56qw-321',
   '9897-93729-fghb-df',
   'uidr-9087-tyip-012',
   'hexa-tata-1234-fd3']}]

相关问题