使用Python將數據插入數據庫(一)


假如我現在有一個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()

以上提供了一種可行的方式,可能還存在一些問題。僅供參考!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM