如何让Python识别德语符号,如变音符?

0 投票
2 回答
2938 浏览
提问于 2025-04-18 11:15

我在看这个内容:python: 打开并读取包含德语变音符的文件作为unicode

我正在用 pd.read_csv() 从一个CSV文件读取我的数据框。

这里的 \x9f 应该是一个变音符:

'Heiner Dr\x9fke "Weil, Gotshal & Manges"'

我尝试了很多方法,但都没有成功:

person1.encode('utf-8')

UnicodeDecodeError: 'ascii' codec can't decode byte 0x9f in position 9: ordinal not in range(128)

尝试过的

I get this when i use macroman person1.decode('macroman')
Out[511]:
u'Heiner Dr\xfcke "Weil, Gotshal & Manges"'

不过,当我打印 person1.decode('macroman') 时,确实能显示出变音符。那我该怎么把它保存到一个字符串里呢?

person1.decode("cp1251")
Out[512]:
u'Heiner Dr\u045fke "Weil, Gotshal & Manges"'

2 个回答

1

u = u"profileDir_(\u00fc)" 这里的u代表一个带有变音符号的字母(ü),具体可以参考这个链接

4

你现在的编码方式是macroman,但其实不应该是这个样子。

>>> print 'Heiner Dr\x9fke "Weil, Gotshal & Mages"'.decode("macroman")
Heiner Drüke "Weil, Gotshal & Mages"

这个方法可以把它转换成Python能理解的unicode格式。

如果你想把它编码成适合谷歌搜索的格式,

'Heiner Dr\x9fke "Weil, Gotshal & Mages"'.decode("macroman").encode('ascii', 'xmlcharrefreplace')

这样做应该没问题。

撰写回答