Запись json в Excel библиотека Pandas
Есть функция которая записывает JSON данные в файл Excel:
import json
import pandas as pd
def Json_to_Excel(json_data):
pd.read_json(json_data, convert_axes=True).to_excel('file_name.xlsx', index=False)
json_data = [{'DateForm': '2024-01-12'},
{'GUID': '15f24792-3013-410b-97bd-cea4d08cf9c5'},
{'ListType': '4'},
{'Region': 'Такого тега нет в файле'},
{'ObjectsType': '002001002000'},
{'Categories': 'Такого тега нет в файле'}]
Json_to_Excel(json.dumps(json_data))
Вывод данных из функции Json_to_Excel() несколько неожиданный:
D:\Python\OKS16\OKS_16\OKS_16.py:149: FutureWarning: Passing literal json to 'read_json' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.
print(pd.read_json(json_data, convert_axes=True))
0 2024-01-12 ... NaN
1 NaN ... NaN
2 NaN ... NaN
3 NaN ... NaN
4 NaN ... NaN
5 NaN ... Такого тега нет в файле
[6 rows x 6 columns]
Process finished with exit code 0
Как можно исправить код, что бы данные записывались в одну строку без NaN
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
вероятно. вам нужно что-то такое:
from io import StringIO
def Json_to_Excel(json_data):
df = pd.read_json(StringIO(json_data))
df = df.apply(lambda x: pd.Series(x.dropna().values))
# df.to_excel('file_name.xlsx', index=False)