python3操作數據庫MySQL並將查詢結果導出為Excel的總結


python3使用pymysql取代了MySQLdb,所以python3無法使用MySQLdb

#coding=utf-8
#pymysql是python操作mysql數據庫的包
# python3使用pymysql取代了MySQLdb,所以python3無法使用MySQLdb
import pymysql
#xlwt是python寫入excel的包
import xlwt
 
con=pymysql.connect(
    host='localhost',
    user='root',
    password='1234',
    database='mydata',
    charset='utf8')
#創建光標
cursor=con.cursor()
sql='insert into dept_xu values(%s,%s,%s)'
#execute執行一條插入語句,參數必須是tuple
param1=(60,'開發部','張家港')
cursor.execute(sql,param1)
#executemany執行多條插入語句
param2=((70,'智能制造','阜寧縣'),(80,'醫葯物流','鳳凰鎮'))
cursor.executemany(sql,param2)
con.commit() #記得提交,不然插入數據不會保留
 
#execute執行一句查詢語句
sql='select * from dept_xu'
cursor.execute(sql)
result=cursor.fetchall()
#查詢結果是一個tuple包tuple的格式((tuple1),(tuple2)),里面每個tuple代表一條查詢記錄,
print(result[0][1])
print(result)
 
#移動指針到某一行.如果mode='relative',則表示從當前所在行移動value條,如果mode='absolute',則表示從結果集的第一 行移動value條.
cursor.scroll(0,mode='absolute')
 
#cursor.description獲取表格的字段信息
fields=cursor.description
print(fields)
cursor.close()
con.close()
 
#將查詢結果寫入到excel
workbook = xlwt.Workbook()
#創建一個新的sheet
sheet=workbook.add_sheet('sheet1',cell_overwrite_ok=True)
#將表的字段名寫入excel
for field in range(len(fields)):
    sheet.write(0,field,fields[field][0])
#結果寫入excle
for row in range(1,len(result)+1):
    for col in range(len(fields)):
        sheet.write(row,col,result[row-1][col])
#excel保存為文件
workbook.save(r'C:\Users\Administrator.7CKIQPMWQ9XTT8J\Desktop\2\1.xls')

 轉載原地址:https://blog.csdn.net/qiudechao1/article/details/88998173


免責聲明!

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



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