假如我現在有一個Excel數據表格,需要將其數據插入MySQL數據庫中。數據如下:

對應的Python實現代碼如下:
1 #導入需要使用到的數據模塊 2 import pandas as pd 3 import pymysql 4 5 #讀入數據 6 filepath = 'E:\_DataSet\catering_sale.xls' 7 data = pd.read_excel(filepath) 8 9 #建立數據庫連接 10 db = pymysql.connect('localhost','root','1234','python_analysis') 11 #獲取游標對象 12 cursor = db.cursor() 13 #創建數據庫,如果數據庫已經存在,注意主鍵不要重復,否則出錯 14 try: 15 cursor.execute('create table catering_sale(num int primary key,date datetime, sale float )') 16 except: 17 print('數據庫已存在!') 18 19 #插入數據語句 20 query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)""" 21 22 #迭代讀取每行數據 23 #values中元素有個類型的強制轉換,否則會出錯的 24 #應該會有其他更合適的方式,可以進一步了解 25 for r in range(0, len(data)): 26 num = data.ix[r,0] 27 date = data.ix[r,1] 28 sale = data.ix[r,2] 29 values = (int(num), str(date), float(sale)) 30 cursor.execute(query, values) 31 32 #關閉游標,提交,關閉數據庫連接 33 #如果沒有這些關閉操作,執行后在數據庫中查看不到數據 34 cursor.close() 35 db.commit() 36 db.close() 37 38 39 40 41 #重新建立數據庫連接 42 db = pymysql.connect('localhost','root','1234','python_anylysis') 43 cursor = db.cursor() 44 #查詢數據庫並打印內容 45 cursor.execute('''select * from catering_sale''') 46 results = cursor.fetchall() 47 for row in results: 48 print(row) 49 #關閉 50 cursor.close() 51 db.commit() 52 db.close()
以上提供了一種可行的方式,可能還存在一些問題。僅供參考!
