通過python操控MYSQL新增資料,並將資料新增到EXCEL中

優惠券活動發表於2018-08-20

通過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=`	`)       #兩次遍歷是將資料顯示出來
        # 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=`	`)
    print()

完成

原文地址https://blog.csdn.net/qq_41124528/article/details/81837159


相關文章