gpt4 book ai didi

python - 使用 Pandas 从 MongoDB 将字典转换为行

转载 作者:行者123 更新时间:2023-12-01 06:29:27 25 4
gpt4 key购买 nike

这是来自 MongoDB 的测试,我需要转换为 MySQL。但!有时有多个“代理”,如果是这种情况,我需要每个代理都在自己的行上,并且该代理应该具有相同的“display_name”。例如,Walter 应该将 Gloria 放在一行,Barb 放在下一行,并且在“display_name”下都放置 Walt Mosley。

  [{'name': 'Loomis, Gloria',
'primaryemail': 'gloria@gmail.com',
'primaryphone': '212-382-1121'},
{'name': 'Hogson, Barb',
'primaryemail': 'bho124@aol.com',
'primaryphone': ''}]

enter image description here

我已经尝试过这个,但它只是拆分了键/值。

a,b,c = [[d[e] for d in test] for e in sorted(test[0].keys())]
print(a,b,c)

这是原始的 JSON 格式:

{'_id': ObjectId('58e6ececafb08d6'),
'item_type': 'Contributor',
'role': 0,
'short_bio': 'Walter Mosley (b. 1952)',
'firebrand_id': 1588,
'display_name': 'Walter Mosley',
'first_name': 'Walter',
'last_name': 'Mosley',
'slug': 'walter-mosley',
'updated': datetime.datetime(2020, 1, 7, 8, 17, 11, 926000),
'image': 'https://s3.amazonaws.com/8588-book-contributor.jpg',
'social_media_name': '',
'social_media_link': '',
'website': '',
'agents': [{'name': 'Loomis, Gloria',
'primaryemail': 'gloria@gmail.com',
'primaryphone': '212-382-1121'},
{'name': 'Hogson, Barb',
'primaryemail': 'bho124@aol.com',
'primaryphone': ''}],
'estates': [],
'deleted': False}

最佳答案

如果您的 JSON 文件中有一个字典数组,请尝试以下操作:

JSON 输入:

inputJSON = [{'item_type': 'Contributor',
'role': 0,
'short_bio': 'Walter Mosley (b. 1952)',
'firebrand_id': 1588,
'display_name': 'Walter Mosley',
'first_name': 'Walter',
'last_name': 'Mosley',
'slug': 'walter-mosley',
'image': 'https://s3.amazonaws.com/8588-book-contributor.jpg',
'social_media_name': '',
'social_media_link': '',
'website': '',
'agents': [{'name': 'Loomis, Gloria',
'primaryemail': 'gloria@gmail.com',
'primaryphone': '212-382-1121'},
{'name': 'Hogson, Barb',
'primaryemail': 'bho124@aol.com',
'primaryphone': ''}],
'estates': [],
'deleted': False}]

代码:

import copy 

finalJSON = []

for each in inputJSON:
for agnt in each.get('agents'):
newObj = copy.deepcopy(each)
newObj['agents'] = agnt
finalJSON.append(newObj)

print(finalJSON)

关于python - 使用 Pandas 从 MongoDB 将字典转换为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59974774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com