【发布时间】:2018-11-04 02:24:50
【问题描述】:
在 Python 2.7 中,我有一个带有多个 unicode 列、整数列等的 Pandas 数据框。我需要能够将它编码为 utf-8 的格式写入 JSON 换行符分隔文件。
我试过了,但它只适用于 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"}
我认为这与this 有关。但我不确定。
我所做的其他研究表明,如果我把它放在我的代码中,它就可以工作。但我也读到不推荐这样做。
import sys
reload(sys)
sys.setdefaultencoding('utf8')
【问题讨论】: