Python-將數據表中數據導出到excel


''' 需求:寫一個函數,隨便輸入一個表名,把這個表里面所有的數據,導出到excel里面 思路: 1、'select * from %s' ,查出這個表所有的數據 2、再把所有的數據寫到excel xlwt '''


import pymysql,hashlib,xlwt def op_mysql(sql:str): mysql_info = { 'host': 'XXX.XXX.XXX.XXX', 'port': XXXX, 'password': 'XXXX', 'user': 'XXXX', 'db': 'XXXX', 'charset': 'utf8', 'autocommit': True } result = '執行完成' conn = pymysql.connect(**mysql_info) # cur = conn.cursor(pymysql.cursors.DictCursor) #建立游標
    cur = conn.cursor() #建立游標
 cur.execute(sql) field = [ t[0] for t in cur.description ] #獲取表里面的所有字段名
    if sql.strip().lower().startswith('select'): # result = cur.fetchone()
        result  = cur.fetchall() cur.close() conn.close() print('所有的字段',field) print('所有的數據',result) result = list(result) #因為返回的是元組,不能修改,所以轉成list
    result.insert(0,field) #加入到最前面
    return result def export_excel(table_name): sql ='select * from %s;'%table_name result = op_mysql(sql) book = xlwt.Workbook() sheet = book.add_sheet('sheet') for row, line in enumerate(result): for col, t in enumerate(line): sheet.write(row, col, t) book.save('%s.xls'%table_name) export_excel('CJ_test') export_excel('app_myuser') import xlwt book = xlwt.Workbook() sheet = book.add_sheet('sheet')l = [ [1,'dsk','xxdfsdfsd',0], [2,'ldd','xxdfsdfsd',0], [3,'lsdd','xxdfsdfsd',0], [4,'lsd1','xxdfsdfsd',0], ] # 方法一: # row = 0#行號 # for line in l: #外面這個循環,每循環一次,就寫excel里面一行 # # col = 0#列號 [1,'dsk','xxdfsdfsd',0] # col = 0 # for t in line:#里面這個循環是控制列的,每循環一次就寫一列 # sheet.write(row,col,t) # col+=1 # row+=1 # 
# 方法二:
for row,line in enumerate(l): for col,t in enumerate(line): sheet.write(row,col,t) book.save('user.xls')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM