我不断得到:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 265-266: ordinal not in range(128)

当我尝试:
df.to_html("mypage.html")

以下是如何重现该问题的示例:
df = pd.DataFrame({"a": [u'Rue du Gu\xc3\xa9, 78120 Sonchamp'], "b": [u"some other thing"]})
df.to_html("mypage.html")
"a"中的元素列表类型为"unicode"

当我想将其导出到csv时,它可以工作,因为您可以执行以下操作:
df.to_csv("myfile.csv", encoding="utf-8")

最佳答案

您的问题出在其他代码中。您的示例代码包含一个Unicode字符串,该字符串被误解为latin1Windows-1252或类似的字符串,因为其中包含UTF-8序列。在这里,我撤消了错误的解码并将其重新编码为UTF-8,但是您将要查找执行错误解码的位置:

>>> s = u'Rue du Gu\xc3\xa9, 78120 Sonchamp'
>>> s.encode('latin1').decode('utf8')
u'Rue du Gu\xe9, 78120 Sonchamp'
>>> print(s.encode('latin1').decode('utf8'))
Rue du Gué, 78120 Sonchamp

关于python - 如何使用utf-8编码将DataFrame导出到HTML?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35894576/

10-12 18:14