如何让Python识别德语符号,如变音符?
我在看这个内容: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')
这样做应该没问题。