【发布时间】:2013-09-24 17:53:49
【问题描述】:
我正在尝试将 excel 文件中的西里尔字母音译为拉丁语。我正在自下而上地工作,无法弄清楚为什么这不起作用。
当我尝试翻译一个简单的文本字符串时,Python 输出“EEEEE EEE”而不是正确的翻译。我该如何解决这个问题才能给我正确的翻译?我整天都在想办法解决这个问题!
symbols = (u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ",
u"abvgdeezijklmnoprstufh'y'eABVGDEEZIJKLMNOPRSTUFH'Y'E")
tr = {ord(a):ord(b) for a, b in zip(*symbols)}
text = u'Добрый Ден'
print text.translate(tr)
>>EEEEEE EEE
感谢您的帮助!
【问题讨论】:
-
这对我来说很好用。当你运行 just
text.translate(tr)(没有print)时会发生什么?我得到u'Dobryj Den'。 -
请不要在您的代码中粘贴提示和注释。这只会让其他人更难测试。
-
@Marc:不幸的是,这在 SO 上已经成为一种过于普遍的风格......不过,有一个好的文本编辑器有助于克服它。
-
@martineau 我不会启动 emacs 来测试别人的代码。
-
@Marcin:我发现当使用适当的 Python 解释器输出样式时,关于什么是代码和什么是输出的交流会大大改善。然而,这篇文章的格式很奇怪。
标签: python python-2.7 translation