gpt4 book ai didi

python - 解析区域字符串语言

转载 作者:太空宇宙 更新时间:2023-11-04 08:18:15 26 4
gpt4 key购买 nike

我正在使用 python 进行 exel 解析。
到目前为止,我一直使用英语,但是当我遇到区域语言时,我遇到了错误。

例子:

IR05 měsíční (monthly)

它给我的错误是

UnicodeEncodeError: 'ascii' codec can't encode character u'\u011b' in position 6: ordinal not in range(128)

我如何解析它并再次在输出文件中用相同的语言编写?

我的代码:

for j in val:
print 'j is - ', j
str(j).replace("'", "")

我在替换语句中遇到错误。

最佳答案

>>> "IR05 měsíční (monthly)".decode('utf8')
u'IR05 m\u011bs\xed\u010dn\xed (monthly)'

这是原始字符串的 unicode 版本(以 utf8 编码)。

现在您可以将它与您解码的其他字符串(来自文件)进行比较(来自 utf8 或 latin2 或其他格式),然后您可以比较它们。

>>> 'IR05 m\xecs\xed\xe8n\xed (monthly)'.decode('latin2')
u'IR05 m\u011bs\xed\u010dn\xed (monthly)'

现在您可以比较两个 unicode 字符串:

>>> s_utf8 = "IR05 měsíční (monthly)"
>>> s_latin2 = 'IR05 m\xecs\xed\xe8n\xed (monthly)'
>>> s_utf8.decode('utf8') == s_latin2.decode('latin2')
True

要将字符串写入文件,请再次对其进行编码:

>>> s = s_utf8.decode('utf8')

>>> filehandle.write(s.encode('utf8'))

关于python - 解析区域字符串语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10331413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com