将数据库的表导入excel

写一个函数,传入一个表名,然后把这个表里面所有的数据,导出到excel里面
(先从表里把所有数据查出来,如果用字典格式,字典的key字段名也有,循环写进excel)

import pymysql,xlwt,datetime

def export_excel(table):  #通过输入表名,将数据库中该表导出到excel
    db_info = {'user':'xxx','password':'xxxxxx','host':'127.0.0.1',
               'db':'xxx','port':3306,'charset':'utf8','autocommit':True}
    conn = pymysql.connect(**db_info)  #建立连接
    cur = conn.cursor(pymysql.cursors.DictCursor)  #游标
    sql = 'select * from %s;'%table
    cur.execute(sql)   #执行sql
    table_info = cur.fetchall()  #获取所有信息
    cur.close()
    conn.close()

    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet1')
    # 获取MYSQL里面的数据字段名称和信息
    info_list=[]
    for infos in table_info:
        lk = [key for key in infos]  #字段名称
        lv = [infos.get(key) for key in infos]  #字段信息
        info_list.append(lv)
    info_list.insert(0,lk)

    #录入excel
    for row,info in enumerate(info_list):  #控制行
        for col,field in enumerate(info):  #控制列的
            sheet.write(row,col,field)
    book.save("%s.xls"%datetime.date.today())

猜你喜欢

转载自www.cnblogs.com/cathyg/p/11779998.html