pandas读取sqlserver数据写入 csv 中文乱码
时间: 2023-08-05 19:10:33 浏览: 164
如果在使用 Pandas 读取 SQL Server 数据库并将数据写入 CSV 文件时出现中文乱码问题,可以考虑在写入 CSV 文件时设置编码格式。
以下是示例代码:
```python
import pandas as pd
import pyodbc
# 连接 SQL Server 数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server_name>;DATABASE=<database_name>;UID=<username>;PWD=<password>')
# 读取数据
sql_query = "SELECT * FROM <table_name>"
df = pd.read_sql(sql_query, conn)
# 将数据写入 CSV 文件,设置编码格式为 utf-8-sig
df.to_csv('<file_name>.csv', index=False, encoding='utf-8-sig')
```
在上述代码中,`encoding='utf-8-sig'` 指定了写入 CSV 文件时的编码格式为 utf-8-sig,可以解决中文乱码问题。
相关问题
pandas读取sqlserver数据写入excel 中文乱码
如果在使用 pandas 读取 SQL Server 数据库并将数据写入 Excel 文件时出现中文乱码问题,可以考虑在写入 Excel 时设置编码格式。
以下是示例代码:
```python
import pandas as pd
import pyodbc
# 连接 SQL Server 数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server_name>;DATABASE=<database_name>;UID=<username>;PWD=<password>')
# 读取数据
sql_query = "SELECT * FROM <table_name>"
df = pd.read_sql(sql_query, conn)
# 将数据写入 Excel 文件,设置编码格式为 utf-8
writer = pd.ExcelWriter('<file_name>.xlsx', engine='xlsxwriter', options={'encoding': 'utf-8'})
df.to_excel(writer, sheet_name='<sheet_name>', index=False)
writer.save()
```
在上述代码中,`options={'encoding': 'utf-8'}` 指定了写入 Excel 文件时的编码格式为 utf-8,可以解决中文乱码问题。
pandas读取sqlserver数据写入excel
可以使用 pandas.read_sql() 方法读取 SQL Server 数据库中的数据,并使用 pandas.DataFrame.to_excel() 方法将数据写入 Excel 文件。以下是一个示例代码:
```python
import pandas as pd
import pyodbc
# 连接 SQL Server 数据库
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server_name>;DATABASE=<database_name>;UID=<username>;PWD=<password>')
# 读取数据
sql_query = "SELECT * FROM <table_name>"
df = pd.read_sql(sql_query, conn)
# 将数据写入 Excel 文件
file_name = "<file_name>.xlsx"
sheet_name = "<sheet_name>"
df.to_excel(file_name, sheet_name=sheet_name, index=False)
# 关闭连接
conn.close()
```
在上面的代码中,需要将 `<server_name>`、`<database_name>`、`<username>`、`<password>`、`<table_name>`、`<file_name>` 和 `<sheet_name>` 替换为实际的值。其中,`<server_name>` 是 SQL Server 实例的名称或 IP 地址,`<database_name>` 是要连接的数据库名称,`<username>` 和 `<password>` 是连接数据库所需的用户名和密码,`<table_name>` 是要读取的表名,`<file_name>` 是要保存的 Excel 文件的名称,`<sheet_name>` 是要保存的 Excel 工作表的名称。