【python 資料庫寫入】python把資料框資料寫入mongodb、mysql
阿新 • • 發佈:2019-02-04
主要內容:
- 1、資料框資料寫入mongdb方法
- 2、資料框資料寫入mysql方法
為了以後不重複造輪子,這裡總結下,如何把資料框資料寫入mysql和mongodb的方法記錄下來,省得翻來翻去。下面記錄的都是精華。
寫入mongodb程式碼片段(使用pymongo庫):
##########################寫入mongodb 資料庫######################
###########################python操作mongodb資料庫
from pymongo import MongoClient
con=MongoClient() ##連線客戶端
db = con.Class ##建立資料庫
post=db.Classdata ##建立集合
##插入資料(df是資料框)
##迴圈寫入(以字典的方式一條一條插入)
for i in range(0,len(df)):
u=dict(Class =df.iloc[i,0], Course =df.iloc[i,1],Title=df.iloc[i,7],Section=df.iloc[i,5],Type=df.iloc[i,8], \
Days=df.iloc[i,2],Time=df.iloc[i,6],Room=df.iloc[i,4],Location=df.iloc [i,3],instructors=df.iloc[i,9],status=df.iloc[i,10])
print u
post.insert(u)
寫入mysql程式碼片段(使用pymysql庫):
##############################寫入mysql資料庫#################################
import pymysql
## 加上字符集引數,防止中文亂碼
dbconn=pymysql.connect(
host="127.0.0.1",
database="cgjr",
user="root",
password="12345" ,
port=3306,
charset='utf8'
)
# 執行sql語句
try:
with dbconn.cursor() as cursor:
# 執行sql語句,插入記錄
sql = 'INSERT INTO t_tao_info (num, price, city, shop_name, title,number,link,sale) VALUES (%s, %s, %s, %s, %s,%s,%s,%s)'
for i in range(0,len(data)):
print "正在插入資料:" + str(i)
cursor.execute(sql, (data.iloc[i,0], data.iloc[i,1], data.iloc[i,2],data.iloc[i,3],data.iloc[i,4],data.iloc[i,5],data.iloc[i,6],data.iloc[i,7]))
# 沒有設定預設自動提交,需要主動提交,以儲存所執行的語句
dbconn.commit()
except dbconn.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit(1)
finally:
dbconn.close()
print ('資料已插入,插入資料庫成功!')