解决Python Pandas 读取Oracle数据库中文乱码问题

xiaoxiao2021-02-28  93

1.Oracle 编码

查询Oracle Server端的字符集:

SQL> select userenv('language') from dual

我使用的数据库字符集查询结果如下:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。 注意:字符集可能不同,因此在配置前需先查询。

2.Python读取数据库

将os.environ[‘NLS_LANG’] 设置为与Oracle 数据库字符集一致。

import cx_Oracle import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK' db=cx_Oracle.connect('userid','password','10.10.3.1:1521/orcl') cr=db.cursor()

3.将数据加载到DataFrame 中

sql='SELECT * FROM sys_users' cr.execute(sql) rs=cr.fetchall() df=pd.DataFrame(rs)
转载请注明原文地址: https://www.6miu.com/read-24689.html

最新回复(0)