Python 如何将JSON**文本**写入Excel文件?
Python中有没有办法将JSON文本写入Excel文件 通常,我会将JSON响应加载到Pandas dataframe中,并将dataframe写入Excel:Python 如何将JSON**文本**写入Excel文件?,python,json,excel,pandas,dataframe,Python,Json,Excel,Pandas,Dataframe,Python中有没有办法将JSON文本写入Excel文件 通常,我会将JSON响应加载到Pandas dataframe中,并将dataframe写入Excel: import pandas form pandas.io.json import json_normalize import requests def df_to_excel(df, filename): writer = pandas.ExcelWriter(filename) df.to_excel(writer
import pandas
form pandas.io.json import json_normalize
import requests
def df_to_excel(df, filename):
writer = pandas.ExcelWriter(filename)
df.to_excel(writer, 'Sheet1')
writer.save()
response = requests.get(url, params).json()
df = json_normalize(response)
df_to_excel(df, 'Response.xlsx')
但这需要将JSON文本转换为Python对象,从而将
“
替换为”
,false
替换为false
,null
替换为None
等,我不希望这样做。您可以先将JSON转换为字典,然后按照此处的建议转换为excel文件:
关键是使用
json.dumps()
将pythonic格式转换回json格式。例如,json.dumps(无)
返回'null'
我建议忘记它是JSON,把它当作一个简单的字符串,你可以很容易地将字符串写入Excel单元格。除非你想做一些更复杂的事情?你没有明确地说明输出应该是什么样子。我更喜欢在Excel中将JSON键作为列,将值作为行,因此,从另一个模块将文件加载到数据框中更容易,也更容易浏览数据。但是,您的方法将作为最后手段工作-谢谢。是否可以将JSON作为文本放入数据框中?然后,我可以轻松地将数据框写入Excel。据我所知,没有库可以帮助您做到这一点。H不过,您可以迭代字典d的键和值,并将json.dumps应用于它们,然后使用pandas.DataFrame.from_dict方法从字典中构造DataFrame。我现在正在路上,如果需要的话,我会在以后添加代码。此外,还可以添加需要转换的json文件示例,这也是我的想法。
import json
import xlsxwriter
import requests
response = requests.get(url, params)
d = json.loads(response.text)
workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()
row = 0
col = 0
for key in d.keys():
row += 1
worksheet.write(row, col, json.dumps(key))
for item in d[key]:
worksheet.write(row, col + 1, json.dumps(item))
row += 1
workbook.close()