从数据库写入数据到excel

从数据库写入数据到excel

"""
example04 - 将二维表的数据导出到Excel/CSV文件

Author: Hao
Date: 2022/9/2
"""
import csv

import openpyxl
import pymysql

from pymysql.cursors import Cursor

file = open('emp.csv', 'w', encoding='utf-8')
writer = csv.writer(file)
writer.writerow(('eno', 'ename', 'job', 'mname', 'sal', 'comm', 'dname'))
# 创建Excel工作簿对象
wb = openpyxl.Workbook()
# 获取默认的工作表
sheet = wb.active
sheet.title = '员工信息'
# 设置表头
sheet.append(('编号', '姓名', '职位', '主管姓名', '月薪', '补贴', '部门名称'))
conn = pymysql.connect(host='localhost', port=3306,
                       user='guest', password='Guest.618',
                       database='hrs', charset='utf8mb4')
try:
    with conn.cursor() as cursor:  # type: Cursor
        cursor.execute(
            'select '
            '   t1.eno, t1.ename, t1.job, t2.ename, t1.sal, t1.comm, dname '
            'from '
            '   tb_emp as t1 left join tb_emp as t2 on t1.mgr = t2.eno '
            '   inner join tb_dept as t3 on t1.dno = t3.dno'
        )
        while row := cursor.fetchone():
            writer.writerow(row)
            sheet.append(row)
except pymysql.MySQLError as err:
    print(err)
finally:
    conn.close()
    file.close()
    wb.save('hr.xlsx')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值