1、打開表
book = xlrd.open_workbook("收入數據.xls") sheet = book.sheet_by_name("Sheet1")
2、連接數據庫
conn = pymysql.connect( host='localhost', user='root', passwd='root', db='sys', port=3306, charset='utf8' )
3、獲取游標
cur = conn.cursor()
4、創建插入數據庫語句
query = 'insert into income (datetime,ironincome,generalincome,baiincome)values("%s","%s","%s","%s")' # 創建一個for循環迭代讀取xls文件每行數據的, 從第二行開始是要跳過標題行 for r in range(1, sheet.nrows): print(sheet.nrows) datetime = sheet.cell(r,0).value print("======================") ironincome = sheet.cell(r,1).value print("ironincome="+str(ironincome),type(ironincome)) generalincome = sheet.cell(r,2).value #打印general_income類型 # print("general_income=" + str(general_income), type(general_income)) print("3hang",generalincome) baiincome = sheet.cell(r,3).value values = (datetime,ironincome,generalincome,baiincome) # 執行sql語句 cur.execute(query%values)
5、關閉數據庫
cur.close() conn.commit() conn.close() columns = str(sheet.ncols) rows = str(sheet.nrows)
執行前

執行后
完整代碼如下
# -*- coding:utf-8 -*- import xlrd import pymysql #打開數據所在的工作簿,以及選擇存有數據的工作表 book = xlrd.open_workbook("收入數據.xls") sheet = book.sheet_by_name("Sheet1") #建立一個MySQL連接 conn = pymysql.connect( host='localhost', user='root', passwd='root', db='sys', port=3306, charset='utf8' ) # 獲得游標 cur = conn.cursor() # 創建插入SQL語句 query = 'insert into income (datetime,ironincome,generalincome,baiincome)values("%s","%s","%s","%s")' # 創建一個for循環迭代讀取xls文件每行數據的, 從第二行開始是要跳過標題行 for r in range(1, sheet.nrows): print(sheet.nrows) datetime = sheet.cell(r,0).value print("======================") ironincome = sheet.cell(r,1).value print("ironincome="+str(ironincome),type(ironincome)) generalincome = sheet.cell(r,2).value #打印general_income類型 # print("general_income=" + str(general_income), type(general_income)) print("3hang",generalincome) baiincome = sheet.cell(r,3).value values = (datetime,ironincome,generalincome,baiincome) # 執行sql語句 cur.execute(query%values) cur.close() conn.commit() conn.close() columns = str(sheet.ncols) rows = str(sheet.nrows) print ("導入 " +columns + " 列 " + rows + " 行數據到MySQL數據庫!")
注意點:
1、表格中不要有空行,要不然表格數據插入到數據庫時總是報空(這個錯折磨我好久啦!!!)
2、調試時,用debug和print都能方便你很好的解決問題,學着用起來吧!