Как записать JSON ** текст ** в файл Excel? - PullRequest
0 голосов
/ 09 ноября 2018

Можно ли в Python записать JSON text в файл Excel?

Обычно я загружал бы ответ JSON в фрейм данных Pandas и записывал фрейм данных в 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, '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 и т. Д., И я не хочу этого.

1 Ответ

0 голосов
/ 09 ноября 2018

Вы можете сначала преобразовать json в словарь, а затем преобразовать в файл Excel, как предлагается здесь Записать значения словаря в файл Excel :

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()

Ключ использует json.dumps(), который преобразует питонический формат обратно в формат json. Например, json.dumps(None) возвращает 'null'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...