В Python 2.7 у меня есть Pandas Dataframe с несколькими юникодными столбцами, целочисленными столбцами и т. Д. Мне нужно иметь возможность записать его в кодированном формате utf-8 в файл JSON Newline Delimited.
Я пробовал это, но это работает только в Python 3, а не Python 2.7.
with io.open('myjson.json','w',encoding='utf-8') as f:
f.write(df.to_json(orient="records", lines=True, force_ascii=False))
Это результат моей попытки, но, как вы можете видеть, он не закодирован utf-8.
{"account_id":"support","case_id":7697,"message":"\u0633\u0628 \u0627\u0644\u0644\u0647\u0627\u0644\u0644\u0647 \u0627\u0644\u0639","created_at":1536606086392,"agent":"108915"}
{"account_id":"support","case_id":7697924,"message":"\u0647\u0627\u064a","created_at":1536601516354,"agent":"108915"}
Я думаю, что это как-то связано с этим . Но я не уверен.
Другое исследование, которое я провел, показывает, что если я добавлю это в свой код, это будет работать. Но я также читал, что это не рекомендуется.
import sys
reload(sys)
sys.setdefaultencoding('utf8')