我正在尝试打印出一些UTF 8字符,但是当我发出以下代码时
csv = 'name\n"BOVÉR, LIÙSAIDH"'
`df = pandas.DataFrame.from_csv( StringIO(csv), index_col=False, encoding='utf-8')
print df.to_html()
我收到如下错误
UnicodeEncodeError:' ascii'编解码器不能对字符u' \ xc9'进行编码。位置260:序数不在范围内(128)
我尝试添加强制unicode标志,但这并没有改变任何东西。有什么提示吗?
答案 0 :(得分:0)
这个问题不够精确,无法提供明确的答案。有关文件和字符串编码,熊猫版本以及特定错误来源的问题仍然存在。但是这里有足够的构造MCVE来评估python和python3解释器上的问题。
耦合要执行的操作:
from_csv()
在最近的熊猫中已过时。尽早使用read_csv()
鉴于使用的熊猫版本,是可行的# -*- coding: utf-8 -*-
import pandas as pd
from io import StringIO
import sys
print(sys.version)
print(pd.__version__)
csv = u'name\n"BOVÉR, LIÙSAIDH"'
print(type(csv))
df = pd.read_csv(StringIO(csv), index_col=False, encoding='utf-8')
print(df.to_html())
python2.7运行:
python unicode_to_html.py
2.7.16 (default, Mar 19 2019, 10:44:02)
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)]
0.20.3
<type 'unicode'>
...snip...
<td>BOVÉR, LIÙSAIDH</td>
...snip...
python3运行:
python3 unicode_to_html.py
3.7.2 (default, Mar 19 2019, 10:33:22)
[Clang 10.0.0 (clang-1000.11.45.5)]
0.24.2
<class 'str'>
...snip...
<td>BOVÉR, LIÙSAIDH</td>
...snip...