【python 数据库写入】python把数据框数据写入mongodb、mysql

主要内容:

  • 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 ('数据已插入,插入数据库成功!')

你可能感兴趣的:(数据科学--python)