与pandas.read_sq有关的UnicodeDecodeError

2024-05-14 09:38:23 发布

您现在位置:Python中文网/ 问答频道 /正文

UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 8: character maps to <undefined>

我在一个简单的sql查询中看到上面的错误:

df = pd.read_sql(query,connection)

我在sql developer上正常地尝试了这个查询,它工作得非常好。。如何在read-sql调用中指定编码

Am使用Python3.4和pandas版本0.14.1

非常感谢!


Tags: toinreadsql错误positionbytecan
2条回答

根据oracle,数据库的正确编码是iso-8859-1 因此,当您connect()到您的数据库时,请传递charset='iso-8859-1'encoding='iso-8859-1'并尝试两者。

Python3.7:

con = sqlite3.connect(path_to_db)
encoding = "latin1"
con.text_factory = lambda x: str(x, encoding)
# do not preserve non-printable
# con.text_factory = lambda x: str(x, "ascii", errors="ignore")
data = pd.read_sql_query(QUERY, con)

Pydocs on text_factory

相关问题 更多 >

    热门问题