pd.read_sql SQL server多列中文数据乱码
时间: 2023-12-10 07:39:46 浏览: 147
系统级中断源-详解pandas库pd.read_excel操作读取excel文件参数整理与实例
出现乱码的原因可能是字符集不匹配或编码方式不正确。请尝试以下方法解决:
1. 将 SQL Server 的字符集设置为 UTF-8,这样就可以支持中文字符。可以在 SQL Server Management Studio 中进行设置。
2. 在 Python 中使用正确的编码方式解码读取到的数据,例如:
```python
df = pd.read_sql(query, conn)
df = df.applymap(lambda x: x.decode('utf-8') if isinstance(x, bytes) else x)
```
其中,query 是查询语句,conn 是连接 SQL Server 的连接对象。这样可以将字节类型的列转换为字符串类型并解码为 UTF-8 编码。
另外,还可以尝试修改 SQL Server 的默认字符集为 UTF-8,以便更好地支持中文数据。
阅读全文