python 存储 将csv或json 存入mysql或mongoDB 数据库

时间:2024-04-07 19:18:33

在企业中,利用python爬虫趴下来的数据我们通常以列表或者字典的形式存入数据库中,这里我们说一下怎样存入mysql数据库或者MongoDB数据库,那么怎样将他们存入数据库中:

  • 1.列表形式的存储,类似于我们从csv文件中读取数据并存入数据库,我们存入csv的数据就是以列表形式存入的,可以参照此案例:

python 存储 将csv或json 存入mysql或mongoDB 数据库

存入mysql数据库

#导入库
import csv
import pymysql
#我们要将上面的csv文件读取并存入数据库
# 第一步:连接到mysql数据库,根据自己的数据库更改
conn = pymysql.connect(host='localhost', user='root', password='1234', db='douban250', charset="utf8")

# 第二 步:创建游标对象
cursor = conn.cursor()  # cursor当前的程序到数据之间连接管道

#读取csv文件,存入数据库要一条一条往里存,类似于我们刚从网站爬虫趴下来的数据
with open('douban250.csv','r',encoding='utf-8')as csvfile:
    read=csv.reader(csvfile)

    for each in list(read)[1:]:
        i=tuple(each)
       
        # 第三步:组装sql语句,严格按照mysql数据库的添加语句来添加
        sql = "insert into douban250 values"+str(i)

        # 第四部:执行sql语句
        cursor.execute(sql)

    # !!!!!!!数据提交 commit()  ,不提交数据库没有信息
    conn.commit()

    # 第五步:存入成功,关闭所有的连接
    # 关闭游标
    cursor.close()
    # 关闭数据库
    conn.close()
  • 2.字典形式的存储,通常我们利用scrapy框架趴下来的以字典形式提交的,这里我们从json文件中读取数据存入数据库,可以参照此案例:

存入MongoDB数据库

python 存储 将csv或json 存入mysql或mongoDB 数据库

from pymongo import MongoClient
import json
#1.连接本地数据库服务
connection = MongoClient('localhost')
#2.连接本地数据库 demo。没有会创建
db = connection.demo01
#3.创建集合
emp = db.employees
#根据情况清空所有数据
emp.remove(None)

#4.打开外部文件
file = open('data.json','r',encoding="utf-8")
for each in file:
    eachline = json.loads(each)
  

    emp.insert(eachline)
file.close()

那么csv中的数据怎样转换成字典格式存入MongoDB:

#csv中提供DictReader函数将列表格式以字典格式读取出来
each = csv.DictReader(file)