如何使用python打印包含日语单词的dict

如何使用python打印包含日语单词的dict,python,dictionary,Python,Dictionary,这是我的代码: import xlrd,sys data = xlrd.open_workbook('a.xls') boss = data.sheets()[3] print boss.row_values(3)[1] 它可以显示正确的单词: キャプションサンプル。てすてす。改行もしたいよ 但是因为a.xls有很多数据,所以我将这些数据附加到python中的dict中 像这样: stage_dict[stage_number]['boss'][boss_number]['name']

这是我的代码:

import xlrd,sys
data = xlrd.open_workbook('a.xls')
boss = data.sheets()[3]
print boss.row_values(3)[1]
它可以显示正确的单词:

キャプションサンプル。てすてす。改行もしたいよ
但是因为a.xls有很多数据,所以我将这些数据附加到python中的dict中

像这样:

stage_dict[stage_number]['boss'][boss_number]['name'] =  boss_row_list[4]
并展示:

print stage_dict
但它表明:

'\uff77\uff6c\uff8c\uff9f\uff7c\uff6e\uff9d\uff7b\uff9d\uff8c\uff9f\uff99\u3002\u3066\u3059\u3066\u3059\u3002\u6539\u884c\u3082\u3057\u305f\u3044\u3088\u3002'
那我该怎么办

如何使用正确的编码打印dict

谢谢

更新:

这是一个简单的演示:

#coding:utf-8

a={0:"キャプションサンプル。てすてす。改行もしたいよ"}
b="キャプションサンプル。てすてす。改行もしたいよ"
print a,b
你不能
print(somedict)
将始终打印dict的
repr()
,这是使用转义序列的有效python代码

然而,由于打印dict应该是一件只需调试的事情,所以这并不是一个真正的问题。显示dict中的值应该有效。

您不能
print(somedict)
将始终打印dict的
repr()
,这是使用转义序列的有效python代码


然而,由于打印dict应该是一件只需调试的事情,所以这并不是一个真正的问题。显示dict中的值应该有效。

您可以从
dict
派生自己的类,并重写
\uuu str\uuu
方法:

# -*- coding: utf-8 -*-

class MyDict(dict):
    def __str__(self):
        return "{"+", ".join(["%s: %s" % (key, self[key]) for key in self])+"}" 

a = {0:"Velmi žluťoučký kůň"}
b = MyDict({0:"Velmi žluťoučký kůň"})
c = "Velmi žluťoučký kůň"
print(a)
print(b)
print(c)
印刷品:

{0: 'Velmi \xc5\xbelu\xc5\xa5ou\xc4\x8dk\xc3\xbd k\xc5\xaf\xc5\x88'}
{0: Velmi žluťoučký kůň}
Velmi žluťoučký kůň

派生类的行为与
dict
完全相同,但它将使用您指定的方法打印。

您可以从
dict
派生您自己的类,并重写
\uu str\uu
方法:

# -*- coding: utf-8 -*-

class MyDict(dict):
    def __str__(self):
        return "{"+", ".join(["%s: %s" % (key, self[key]) for key in self])+"}" 

a = {0:"Velmi žluťoučký kůň"}
b = MyDict({0:"Velmi žluťoučký kůň"})
c = "Velmi žluťoučký kůň"
print(a)
print(b)
print(c)
印刷品:

{0: 'Velmi \xc5\xbelu\xc5\xa5ou\xc4\x8dk\xc3\xbd k\xc5\xaf\xc5\x88'}
{0: Velmi žluťoučký kůň}
Velmi žluťoučký kůň

派生类的行为与dict完全相同,但它将使用您指定的方法打印。

在Python中打印对象将打印该对象在英文文本中的表示方式。因此,您将体验到这样的结果。

在Python中打印对象将打印该对象在英文文本中的表示方式。因此,您将体验到这样的结果。

您可以编写自己的函数来打印您的say,或者像其他人在这里指出的那样重写一个内置方法。您可以编写自己的函数来打印您的say,或者像其他人在这里指出的那样重写一个内置方法。同样,您可以派生您自己的具有自定义“\uuu repr\uuu()”方法。这将使该类型的字符串在任何地方都能正确打印,而不仅仅是在
MyDict
中。这将使该类型的字符串在任何地方都能正确打印,而不仅仅是在
MyDict
中。