Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2019 07:48:43

BrodskyPV
Зарегистрирован: 2014-02-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод данных датафрейма в формат JSON

Добрый день!
Нужна помощь в решении очень нового для меня вопроса. Мне необходимо забрать данные из экселя, и эти данные затем преобразовать в формат JSON.
С первой частью я справился, забрал данные из экселя. Далее я на основании этих данных формирую словарь. Потом, методом to_json() вроде как преобразовываю эти данные в формат JSON.
Когда работаю с файлами где нет кириллицы, то всё нормально, а вот как появляется кириллица то начинается то, что я пока что объяснить не могу. Собственно я и хочу попросить вас помочь мне объяснить, что происходит и как это исправить.

Вот мой код:

 import pandas as pd
data_tech_regime = pd.read_excel('tech_regime_red_1.xlsx',sep = '/t') #забрал данные из экселя в датафрейм
zagolovki_stolbcov = [] # в этом блоке получил список всех заголовков из таблицы
for line in data_tech_regime:
    zagolovok = line.strip()
    zagolovki_stolbcov.append(zagolovok )
print (zagolovki_stolbcov) # тут я проверяю что заголовки забрал нормально
data_for_json = data_tech_regime.groupby('Скв.')[zagolovki_stolbcov].apply(lambda x: x.set_index('Скв.').to_dict(orient='index')) #здесь формирую словарь на основании датафрейма
#print (data_for_json) # словарь печатается нормально
print(data_for_json.to_json()) # вот тут вывожу на экран результат преобразования и получается фигня

Прикреплённый файлы:
attachment tech_regime_red_1.xlsx (10,0 KБ)

Офлайн

#2 Март 14, 2019 07:50:54

BrodskyPV
Зарегистрирован: 2014-02-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод данных датафрейма в формат JSON

А получается такая вот фигня

Прикреплённый файлы:
attachment Снимок.JPG (115,8 KБ)

Офлайн

#3 Март 14, 2019 08:05:42

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Перевод данных датафрейма в формат JSON

В последней строке кода добавьте параметр force_ascii=False:

 print(data_for_json.to_json(force_ascii=False)) # вот тут вывожу на экран результат преобразования и получается фигня

Офлайн

#4 Март 14, 2019 08:37:57

BrodskyPV
Зарегистрирован: 2014-02-22
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод данных датафрейма в формат JSON

rami
В последней строке кода добавьте параметр force_ascii=False:
Большое спасибо!
Работает!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version