本文共 2849 字,大约阅读时间需要 9 分钟。
第一步 在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 xlwtwbk = 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.nrowsncols = 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()
完成
原文地址
转载地址:http://prizx.baihongyu.com/