UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 8: character maps to <undefined>
在简单的SQL查询中看到错误:
df = pd.read_sql(query,connection)
我在sql开发人员上正常尝试了查询,它运行得很好..在这里如何在read_sql调用中指定编码真的难倒了
使用Python 3.4和pandas版本0.14.1
非常感谢!
答案 0 :(得分:6)
根据oracle docs,您的数据库的正确编码为iso-8859-1
所以当您connect()
到您的数据库时,请通过charset='iso-8859-1'
或encoding='iso-8859-1'
尝试两者。
答案 1 :(得分: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)