2024-05-29 03:38:50 发布
网友
我的数据集中的列['douban_info']是存储在JSON中的中文电影信息,因此当我df['douban_info'][0]时,它返回:
['douban_info']
df['douban_info'][0]
汉字都变成了\u7834\u6653\u8005之类的东西,我看不懂。有没有可能让Python在输出时把它们变成中文原版?在
\u7834\u6653\u8005
我在Jupyter笔记本中使用python2.7。在
使用ensure_ascii=False选项调用json.dump或json.dumps,然后将得到原始的utf-8编码字符串。在
ensure_ascii=False
json.dump
json.dumps
由https://docs.python.org/2/library/json.html引用
json.dump(obj, fp, skipkeys=False, **ensure_ascii=True**, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)¶
json.dump(obj, fp, skipkeys=False, **ensure_ascii=True**, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
你可以试试
df['douban_info'][0].to_json(ensure_ascii=False)
获取以汉字显示的属性值。在
这就是Python2的工作原理。在为列表和字符串生成显示字符串时,它默认显示repr()。您必须print字符串才能看到Unicode字符:
repr()
print
>>> D = {u'aka': [u'2019\u730e\u8840\u90fd\u5e02(\u6e2f)', u'\u9ece\u660e\u65f6\u5206']} >>> D[u'aka'][0] u'2019\u730e\u8840\u90fd\u5e02(\u6e2f)' >>> print D[u'aka'][0] 2019猎血都市(港)
如果您不能迁移到python3,那么如果您不喜欢默认的repr()显示,那么就必须创建自己的显示例程。比如:
输出:
{u'aka':, [u'2019猎血都市(港)', u'黎明时分']}
注意,作为一个通用的转储实用程序,这绝不是完整的。在
在Python 3中,repr()已更新:
>>> print(D) {'aka': ['2019猎血都市(港)', '黎明时分']}
使用
ensure_ascii=False
选项调用json.dump
或json.dumps
,然后将得到原始的utf-8编码字符串。在由https://docs.python.org/2/library/json.html引用
json.dump(obj, fp, skipkeys=False, **ensure_ascii=True**, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
¶你可以试试
df['douban_info'][0].to_json(ensure_ascii=False)
获取以汉字显示的属性值。在
这就是Python2的工作原理。在为列表和字符串生成显示字符串时,它默认显示
repr()
。您必须print
字符串才能看到Unicode字符:如果您不能迁移到python3,那么如果您不喜欢默认的
^{pr2}$repr()
显示,那么就必须创建自己的显示例程。比如:输出:
注意,作为一个通用的转储实用程序,这绝不是完整的。在
在Python 3中,
repr()
已更新:相关问题 更多 >
编程相关推荐