数据库里面的表数据导出到excel

#建立游标的时候指定游标类型返回的值就是你想要的类型
#字段可以理解为表里面的表头,获取字段的方法:cur.description
'''
import pymysql
def exu_info(sql):
    conn = pymysql.connect(host='118.24.3.40',user='***',
                    password='****',
                    port=3306,db='jxz',charset='utf8',autocommit=True)

    cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
    #建立游标指定以字典形式则
    #[{'id': 1, 'name': '小黑马', 'sex': '', 'age': 28, 'addr': '河南省济源市北海大道32号', 'grade': '天蝎座', 'phone': '18002531114', 'gold': 89188}
    # cur = conn.cursor()#如果不指定类型返回的就是元祖
    #》((1, '小黑马', '', 28, '河南省济源市北海大道32号', '天蝎座', '18002531114', 89188)
    cur.execute(sql)
    data = cur.fetchall()
    print(data)
    cur.close()
    conn.close()
'''
    # return data
# sql = 'select * from app_student limit 10;'
# exu_info(sql)
import pymysql,xlwt
conn = pymysql.connect(host='118.24.3.40', user='jxz',
                       password='123456',
                       port=3306, db='jxz', charset='utf8', autocommit=True)
}
cur = conn.cursor()#如果不指定类型返回的就是元祖
# 》((1, '小黑马', '', 28, '河南省济源市北海大道32号', '天蝎座', '18002531114', 89188)
cur.execute('select * from app_student limit 10;')#得先抓到数据然后才能cur.description 出字段
# print(cur.description)#得出在第一位存放字段的元祖
titles = [title[0] for title in cur.description]
# print(titles)
#['id', 'name', 'sex', 'age', 'addr', 'grade', 'phone', 'gold']
#下面想把字段和字段对应的数据放在一个List里方便读取
data = list(cur.fetchall())

'''
data = list(cur.fetchall()).insert(0,titles)
print(data)#insert 是没有返回值的所以返回none
'''
data.insert(0,titles)
print(data)

'''循环往表格里面写数据'''
book = xlwt.Workbook()
sheet = book.add_sheet('sheet1')
for index,line_data in enumerate(data):
    for index2,col_data in enumerate(line_data):
        sheet.write(index,index2,col_data)
book.save('WTF.xls')
cur.close()
conn.close()

 

posted @ 2018-07-21 16:30  卖女孩的小大米  阅读(151)  评论(0编辑  收藏  举报