将大 pandas 的JSON数据转换为python中的特定JSON模式/格式 [英] Convert JSON data from pandas to a specific JSON schema/format in python
本文介绍了将大 pandas 的JSON数据转换为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,获取结果并将其添加到dict或可能的情况下直接添加到Pandas DataFrame
Does anyone know of any tools, libraries, or general advice on how I can get this done? I need to send each company object as a POST request to an API and it requires this format. From there I need to append the results to a pandas DataFrame. Which I believe should involve looping through the JSON data, submitting each company the API, taking the result and adding it to a dict or if possible directly to a 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"}'
这篇关于将大 pandas 的JSON数据转换为python中的特定JSON模式/格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文