python读取数据库表数据并写入excel

一个简单的使用python读取mysql数据并写入excel中实例

1、python连接mysql数据库

conn = pymysql.connect(user=‘root‘,host=‘127.0.0.1‘,port=3306,passwd=‘root‘,db=‘python‘,charset=‘utf8‘) #连接数据库

cur = conn.cursor()

2、读取mysql数据库中表数据 

sql = ‘select * from %s;‘ %table_name #需要写入excel表数据
#读取数据
cur.execute(sql) #读取数据
fileds = [filed[0] for filed in cur.description] #读取表结构定义
all_date = cur.fetchall() #所有数据
for result in all_date:
     print(result)

3、数据写入excel

book = xlwt.Workbook() #创建一个book

    sheet = book.add_sheet(‘result‘) #创建一个sheet表

    for col,filed in enumerate(fileds):
        sheet.write(0,col,filed)  #将表字段描述写入excel第一行

    #从第一行开始写

    row = 1
    for data in all_date:
        for col,filed in enumerate(data):
            sheet.write(row,col,filed)#将数据写入excel单元格中
        row += 1

4、保存excel

book.save(‘%s.xls‘ %table_name)

5、完整代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
‘‘‘
 @Time : 2020/1/1 18:08
 @Author : Jason.Jia
 @contact: 
 @Version : 1.0
 @file :mysql_write_excel.py
 @desc :
 从mysql读取数据,写入excel中
‘‘‘

import pymysql,xlwt

def export_excel(table_name):
    conn = pymysql.connect(user=‘root‘,host=‘127.0.0.1‘,port=3306,passwd=‘root‘,db=‘python‘,charset=‘utf8‘)
    cur = conn.cursor()

    sql = ‘select * from %s;‘ %table_name

    #读取数据
    cur.execute(sql)
    fileds = [filed[0] for filed in cur.description]
    all_date = cur.fetchall() #所有数据
    for result in all_date:
        print(result)

    #写excel

    book = xlwt.Workbook() #创建一个book

    sheet = book.add_sheet(‘result‘) #创建一个sheet表

    for col,filed in enumerate(fileds):
        sheet.write(0,col,filed)

    #从第一行开始写

    row = 1
    for data in all_date:
        for col,filed in enumerate(data):
            sheet.write(row,col,filed)
        row += 1

    book.save(‘%s.xls‘ %table_name)


if __name__ == ‘__main__‘:
    export_excel(‘stocks‘)