您好,登錄后才能下訂單哦!
這篇文章主要介紹了python將數(shù)據(jù)插入數(shù)據(jù)庫的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
python將數(shù)據(jù)插入數(shù)據(jù)庫的方法:首先讀入數(shù)據(jù)并建立數(shù)據(jù)庫連接;然后創(chuàng)建數(shù)據(jù)庫;接著執(zhí)行插入數(shù)據(jù)語句,迭代讀取每行數(shù)據(jù);最后關(guān)閉數(shù)據(jù)庫連接即可。
比如現(xiàn)在我們要將如下Excel數(shù)據(jù)表格插入到MySQL數(shù)據(jù)庫中,該如何實現(xiàn)呢?
實現(xiàn)代碼:
#導(dǎo)入需要使用到的數(shù)據(jù)模塊 import pandas as pd import pymysql #讀入數(shù)據(jù) filepath = 'E:\_DataSet\catering_sale.xls' data = pd.read_excel(filepath) #建立數(shù)據(jù)庫連接 db = pymysql.connect('localhost','root','1234','python_analysis') #獲取游標(biāo)對象 cursor = db.cursor() #創(chuàng)建數(shù)據(jù)庫,如果數(shù)據(jù)庫已經(jīng)存在,注意主鍵不要重復(fù),否則出錯 try: cursor.execute('create table catering_sale(num int primary key,date datetime, sale float )') except: print('數(shù)據(jù)庫已存在!') #插入數(shù)據(jù)語句 query = """insert into catering_sale (num, date, sale) values (%s,%s,%s)""" #迭代讀取每行數(shù)據(jù) #values中元素有個類型的強(qiáng)制轉(zhuǎn)換,否則會出錯的 #應(yīng)該會有其他更合適的方式,可以進(jìn)一步了解 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) #關(guān)閉游標(biāo),提交,關(guān)閉數(shù)據(jù)庫連接 #如果沒有這些關(guān)閉操作,執(zhí)行后在數(shù)據(jù)庫中查看不到數(shù)據(jù) cursor.close() db.commit() db.close() #重新建立數(shù)據(jù)庫連接 db = pymysql.connect('localhost','root','1234','python_anylysis') cursor = db.cursor() #查詢數(shù)據(jù)庫并打印內(nèi)容 cursor.execute('''select * from catering_sale''') results = cursor.fetchall() for row in results: print(row) #關(guān)閉 cursor.close() db.commit() db.close()
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python將數(shù)據(jù)插入數(shù)據(jù)庫的方法內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。