python批量导出数据库多个表的数据

2021/12/15 19:50:41

本文主要是介绍python批量导出数据库多个表的数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

# --*-- coding:utf8 --*--
import pymysql, xlwt


def export_excel(table_name,sql):
    # 连接数据库,查询数据
    host, user, passwd, db = '数据库地址', '用户', '密码', '数据库名称'
    conn = pymysql.connect(user=user, host=host, port=数据库端口号, passwd=passwd, db=db, charset='utf8')
    cur = conn.cursor()
    #sql = 'select * from %s' % table_name
    cur.execute(sql)  # 返回受影响的行数

    fields = [field[0] for field in cur.description]  # 获取所有字段名
    all_data = cur.fetchall()  # 所有数据

    # 写入excel
    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet1')

    for col, field in enumerate(fields):
        sheet.write(0, col, field)

    row = 1
    for data in all_data:
        for col, field in enumerate(data):
            sheet.write(row, col, field)
        row += 1
    book.save("C:/文件夹名称/%s.xls" %table_name)


if __name__ == '__main__':
    table={
        'EXCEL文件1': 'SELECT * FROM 表1',
        'EXCEL文件2': 'SELECT * FROM 表2'
    }
    for table_name,sql in table.items():
        export_excel(table_name,sql)


这篇关于python批量导出数据库多个表的数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程