在尝试通过Jupyter连接到数据库后出现了一些问题,现在可以正常工作。
但是,当尝试联系数据库时,有2个表存在一些问题(其他表很好)。
仅供参考:
我正在处理来自德国的数据,所以问题可能出在特殊字符ü,ä,ö上吗?
我一直在想向连接线指定特殊编码,但是我不知道该怎么做。
import cx_Oracle
import pandas as pd
# The connection
conn = cx_Oracle.Connection(user='', password='', dsn='')
# The Query
SQL_Query = pd.read_sql_query(
'''select * from CB_CONTRACTS''', conn)
# Define the DF
df_CRH = pd.DataFrame(SQL_Query)
# Display the DF
df_CRH.head()
输出应为包含所有查询的数据框。 正如我所说,它适用于8/10的桌子,除了我一直在努力的那2张桌子。
错误消息: UnicodeDecodeError:'charmap'编解码器无法解码位置23的字节0x81:字符映射到
答案 0 :(得分:0)
cx_Oracle.connection()
接受encoding
和nencoding
参数,请参阅https://cx-oracle.readthedocs.io/en/latest/module.html#cx_Oracle.connect。另外,您可以在启动python之前设置NLS_LANG环境变量。cursor.var()
有一个encodingErrors
参数,请参见https://cx-oracle.readthedocs.io/en/latest/cursor.html?highlight=encodingErrors#Cursor.var和https://github.com/oracle/python-cx_Oracle/issues/162