python查询数据库导出文件
时间: 2023-11-03 07:59:43 浏览: 105
使用Python将Mysql的查询数据导出到文件的方法
对于Python查询数据库导出文件,可以按照以下步骤进行操作:
1. 导入必要的模块和库:pymysql用于连接数据库,xlwt用于创建和写入Excel文件。
2. 建立数据库连接:使用pymysql.connect()函数连接数据库,传入数据库的相关信息,如主机名、用户名、密码、数据库名等。
3. 执行SQL查询语句:使用cursor对象的execute()方法执行SQL查询语句。
4. 获取查询结果:使用cursor对象的fetchall()方法获取查询结果。
5. 创建并初始化Excel文件:使用xlwt模块的Workbook()函数创建Excel文件,并设置编码和样式。
6. 写入数据到Excel文件:根据查询结果,使用循环将数据写入Excel文件的相应单元格中。
7. 保存Excel文件到本地:使用Workbook对象的save()方法将Excel文件保存到本地指定路径下。
8. 关闭数据库连接:使用conn对象的close()方法关闭数据库连接。
下面是示例代码:
``` python
import pymysql
import xlwt
# 建立数据库连接
conn = pymysql.connect(
host='localhost',
user='****',
password='****',
db='goods',
charset='utf8'
)
# 获取游标
curs = conn.cursor()
# 执行SQL查询语句
sql = 'SELECT * FROM user;'
curs.execute(sql)
# 获取查询结果
rows = curs.fetchall()
# 创建并初始化Excel文件
w = xlwt.Workbook(encoding='utf-8')
style = xlwt.XFStyle()
font = xlwt.Font()
font.name = "微软雅黑"
style.font = font
ws = w.add_sheet("用户信息", cell_overwrite_ok=True)
# 写入数据到Excel文件
title = "id,用户名,密码"
title = title.split(",")
for i in range(len(title)):
ws.write(0, i, title[i], style)
for i in range(len(rows)):
row = rows[i]
for j in range(len(row)):
if row[j]:
item = row[j]
ws.write(i+1, j, item, style)
# 保存Excel文件到本地
path = 'user.xls'
w.save(path)
# 关闭数据库连接
conn.close()
print("保存成功!")
```
阅读全文