通过python操控MYSQL添加数据,并将数据添加到EXCEL中
第一步 在python中创建mysql数据表 import pymysql #导入模块 def getCon(): #联接到数据库,并封装循环使用,db是数据库名字 conn = pymysql.connect(host = '127.0.0.1',user='root',passwd='123456',db='movies') return conn # #创建数据表 def createALL(): conn = getCon() sql ='''create table movierank( #这一段为sql语句,创建数据表 moviename varchar(255) not null primary key, boxoffice float not null, percent float not null, days int(11) not null, totalboxoffice float not null) ''' cur = conn.cursor() cur.execute(sql) conn.commit() # createALL() #调用函数,调用完成及时注释掉,避免多次调用报错 #修改字段属性 def alterALL(): conn = getCon() sql = "alter table movierank modify percent varchar(255) not null " #将percent的列属性改成varchar(255) cur = conn.cursor() cur.execute(sql) # alterALL() #插入数据 def insertALL(data): conn = getCon() sql ="insert into movierank values('%s','%f','%s','%d','%f')" #占位符使用时注意列类型的区分d:整数s:字符串f:浮点小数 cur =conn.cursor() cur.execute(sql%data) conn.commit() data =('21克拉',1031.92,'15.18%',2,2827.09) data2 =('狂暴巨兽',2928.28 ,'43.07%',9 ,57089.2) data3 =('起跑线',161.03 ,'2.37%',18 ,19873.43) data4 = ('头号玩家', 1054.87 ,'15.52%',23,127306.41) data5 =('红海行动', 45.49, '0.67%',65, 364107.74) data6=('犬之岛', 617.35, '9.08%',2, 1309.09) data7=('湮灭', 135.34 ,'1.99%',9, 5556.77) # insertALL(data) #调用函数,并导入数据 # insertALL(data2) # insertALL(data3) # insertALL(data4) # insertALL(data5) # insertALL(data6) # insertALL(data7) #查看数据 def searchALL(): lt =[] #建立空列表,用于后面插入excel中时使用 conn = getCon() sql = "select * from movierank" cur=conn.cursor() cur.execute(sql) all = cur.fetchall() #查看所有数据 for i in all: #通过遍历查看 lt.append(i) #将数据放到空列表中 return lt #下面为实验验证效果的注释 # for i in all: # print(i) #此时打印数据,数据格式为元组 # for j in i: #在进行一次遍历,将每一个数据都打印出来 # print(j,end='\t') #两次遍历是将数据显示出来 # print() searchALL() #调用涵数 第二步为将数据插入到EXCEL中 import xlrd #导入需要的模块 import xlwt wbk = xlwt.Workbook() sheet=wbk.add_sheet('movieRank.xlsx') for i in range(len(searchALL())): #计算列表的长度就是计算有多少行 for j in range(len(searchALL()[0])): #计算列表中的第一个列表中的数据的长度就是有多少列 sheet.write(i,j,searchALL()[i][j]) #通过索引写入数据 wbk.save('moviesrank.xlsx') #保存 #查看是否成功 wk = xlrd.open_workbook('moviesrank.xlsx') sheet = wk.sheet_by_index(0) nrows = sheet.nrows ncols = sheet.ncols #查看行值 for i in range(nrows): myrowvalue = sheet.row_values(i) # print(myrowvalue) #查看列值 for j in range(ncols): mycolvalue = sheet.col_values(j) # print(mycolvalue) #查看单元格的值 for i in range(nrows): for j in range(ncols): mycellvalue = sheet.cell(i,j).value print(mycellvalue,end='\t') print()
完成
原文地址https://blog.csdn.net/qq_41124528/article/details/81837159