gpt4 book ai didi

python - 将 JSON 数据从 pandas 转换为 python 中的特定 JSON 模式/格式

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:13 25 4
gpt4 key购买 nike

我在 python 中有一些 JSON 数据,如下所示:

>>> print name_frame
...
name name1 name2 name3 name4
Micro inc. NaN Jim D Susan A NaN NaN
Vitacore Billy B NaN Sally Q Mark G NaN
>>> payload = name_frame.apply(lambda x: [x.dropna()], axis=1).to_json(force_ascii=False)
...
>>> print payload
...




{
"Micro inc.":[{"name1":"Jim D","name2":"Susan A"}],
"Vitacore":[{"name":"Billy B","name2":"Sally Q","name3":"Mark G"}],

}

我需要它看起来像这样:

finalJSON = { 
"company":{
"name": "Micro inc.",
"founders": {
"name": "Jim D",
"name": "Susan A",
}
}
"company":{
"name": "Vitacore",
"founders": {
"name": "Billy B",
"name": "Sall Q",
"name":"Mark G",
}

有谁知道关于如何完成此任务的任何工具、库或一般建议?我需要将每个公司对象作为 POST 请求发送到 API,并且它需要这种格式。从那里我需要将结果附加到 pandas DataFrame 中。 我认为应该涉及循环 JSON 数据,向每个公司提交 API,获取结果并将其添加到字典中,或者如果可能的话直接添加到 Pandas DataFrame

payload= '''a single company from finalJSON'''

#p is a POST Request
p = requests.post((url + '/r'), json=payload, headers=headers)
p.text #<---- gotta go to a Pandas DataFrame

预先感谢您的任何帮助或建议

最佳答案

finalJSON = []
for company, names in df.iterrows():
names = ['"{0}"'.format(name) for name in names.dropna().tolist()]
names_json_str = ('"name": ' if names else '') + ', "name": '.join(names)
finalJSON.append('"company": {"name": "' + company + '", "founders": {' + names_json_str + '}')
finalJSON = ', '.join(finalJSON)

>>> finalJSON
'"company": {"name": "Micro inc.", "founders": {"name": "Jim D", "name": "Susan A"},
"company": {"name": "Vitacore", "founders": {"name": "Billy B", "name": "Sally Q", "name": "Mark G"}'

关于python - 将 JSON 数据从 pandas 转换为 python 中的特定 JSON 模式/格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45088791/

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