大家好,我是皮皮。
一、前言
前幾天在Python白銀群【鶏啊鶏】問了一個Python
數(shù)據(jù)存入數(shù)據(jù)庫的問題,一起來看看吧。
各位大佬 我想請教下通過python大批量插入數(shù)據(jù)到數(shù)據(jù)庫的方法
目前我在用的操作是以下這個模式:
sql=''
for i in list:
sql = "insert XXX表(地址,單號,缸號,狀態(tài),備注,時間) values('" + address + "','"+ppo+"','"+batch_no+"','待定','未生產(chǎn)',getdate())"
這樣當(dāng)sql稍微大點(diǎn)的情況下 一次性插入就會插入失敗,想請問下各位大佬如果大批量插入的話應(yīng)該用哪個方式更穩(wěn)定點(diǎn)呢。
二、實(shí)現(xiàn)過程
這里【袁學(xué)東】給了一個解答,如下所示:
用pandas, 先將批量插入數(shù)據(jù)整理成dataframe,df.to_sql(table, index=False, con=self.engine, if_exists=method)
,1000萬行的數(shù)據(jù)導(dǎo)入也只要幾秒鐘。如果數(shù)據(jù)源是csv或excel更簡單,df = pd.read_csv("file.csv")
或df = pd.read_excel("file.xls"),然后df.to_sql()
。
順利地解決了粉絲的問題。