利用Python操作数据库,并将数据导出到Excel中(xls)

提供两个Demo代码,其余操作大差不差,对应修改即可。

SQL Server_Demo.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pymssql
import xlwt

# 基本信息
conn = pymssql.connect('127.0.0.1', 'sa', 'sql', 'books', charset='utf8')
# 建立游标,连接
cursor = conn.cursor()
# 判断连接状态
if cursor: print("SQL Server连接成功!")
# 执行sql语句
# 解决输出中文乱码 convert(nvarchar(20),列名) as 列名
sql = "SELECT 读者号,convert(nvarchar(20),姓名) as 姓名,convert(nvarchar(20),性别) as 性别,办公电话,部门 FROM 读者表"
cursor.execute(sql)
# 提取数据
data_list = cursor.fetchall()
print(data_list)
# excel 操作
# 创建表格类型
test = xlwt.Workbook(encoding='utf-8', style_compression=0)
# 新建单元薄
sheet = test.add_sheet('导出数据表', cell_overwrite_ok=True)
# 创建第一行列名
col = cursor.description
# 导入列名
for i in range(0, len(col)):
sheet.write(0, i, col[i][0])
# 导入数据
for i in range(0, len(data_list)):
data = data_list[i]
for j in range(0, len(data)):
sheet.write(i + 1, j, data[j])
savepath = 'output.xls'
test.save(savepath)

# 结束连接
print("数据导出已完成: %s"%savepath)

MySql_Demo.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import pymysql
import xlwt

# 基本信息
conn = pymysql.connect(host='127.0.0.1', user='root', password='root', db='mysql')
# 建立游标,连接
cursor = conn.cursor()
# 判断连接状态
if cursor: print("MySql连接成功!")
# 执行sql语句
sql = "SELECT * FROM test"
cursor.execute(sql)
# 提取数据
data_list = cursor.fetchall()
print(data_list)
# excel 操作
# 创建表格类型
test = xlwt.Workbook(encoding='utf-8', style_compression=0)
# 新建单元薄
sheet = test.add_sheet('导出数据表', cell_overwrite_ok=True)
# 获取列名
col = cursor.description
# 导入列名
for i in range(0, len(col)):
sheet.write(0, i, col[i][0])
# 导入数据
for i in range(0, len(data_list)):
data = data_list[i]
for j in range(0, len(data)):
sheet.write(i + 1, j, data[j])
savepath = 'output.xls'
test.save(savepath)
# 结束连接
print("数据导出已完成: %s"%savepath)