python將數據插入數據庫的方法:


python將數據插入數據庫的方法:

首先讀入數據並建立數據庫連接;
然后創建數據庫;
接着執行插入數據語句,迭代讀取每行數據;
最后關閉數據庫連接即可。
比如現在我們要將如下Excel數據表格插入到MySQL數據庫中,該如何實現呢?

實現代碼:


#導入需要使用到的數據模塊
import pandas as pd
import pymysql
 
#讀入數據
filepath = 'E:\_DataSet\catering_sale.xls'
data = pd.read_excel(filepath)
 
#建立數據庫連接
db = pymysql.connect('localhost','root','1234','python_analysis')
#獲取游標對象
cursor = db.cursor()
#創建數據庫,如果數據庫已經存在,注意主鍵不要重復,否則出錯
try:
    cursor.execute('create table catering_sale(num int primary key,date datetime, sale float )')
except:
    print('數據庫已存在!')
 
#插入數據語句
query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)"""
 
#迭代讀取每行數據
#values中元素有個類型的強制轉換,否則會出錯的
#應該會有其他更合適的方式,可以進一步了解
for r in range(0, len(data)):
    num = data.ix[r,0]
    date = data.ix[r,1]
    sale = data.ix[r,2]
    values = (int(num), str(date), float(sale))
    cursor.execute(query, values)
 
#關閉游標,提交,關閉數據庫連接
#如果沒有這些關閉操作,執行后在數據庫中查看不到數據
cursor.close()
db.commit()
db.close()
 
#重新建立數據庫連接
db = pymysql.connect('localhost','root','1234','python_anylysis')
cursor = db.cursor()
#查詢數據庫並打印內容
cursor.execute('''select * from catering_sale''')
results = cursor.fetchall()
for row in results:
    print(row)
#關閉
cursor.close()
db.commit()
db.close()



免責聲明!

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



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