各位大脑,如何把txt文件用python导入到mongoDB数据库里?txt里面字段是姓名学号成绩

各位大脑,如何把txt文件用python导入到mongoDB数据库里?txt里面字段是姓名学号成绩,第1张

python 访问 mongodb 需要先安装 pymongo,如下:

pip install pymongo

txt 文件格式:

代码如下:

#coding=utf-8

from pymongo import MongoClient

conn = MongoClient('127.0.0.1', 27017)

# 连接 test 数据库,没有则自动创建

db = conn.test  

# 使用 students 集合,没有则自动创建

students = db.students

# 打开学生信息文件, 并将数据存入到数据库

with open('students.txt', 'r') as f:

    

    for line in f.readlines():

        

        # 分割学生信息

        items = line.strip('\r').strip('\n').split(',')

        

        # 添加到数据库

        students.insert({ 'stu_id': items[0], 'name': items[1], 'grade': int(items[2]) })

# 数据库查询学生信息并打印出来

for s in students.find():

    print(s)

# 8行结束有一个空白行

with open('data.txt') as data:

    line = 1

    sql = 'insert into fz_esx values(%s,%s,%s,%s,%s,%s,%s,%s)'

    values = []

    for d in data:

        if d != '':

            values.append('"%s"' % str(d))

        if line % 9 == 0:

            # 执行sql插入代码

            # urs.exec(sql % tuple(values))

            del values[:]

        line += 1

        

# 当然如果不行浪费sql资源,可以全部拼接完inert语句 一次执行

# 如果是生产环境, 建议使用队列的思路,例如"芹菜"库

两种方法

1、python读取文件后,解析value中的id,存储到list中,再读另一个文件时,去list里判断是否已存在

2、python读取另一个文件后,解析values中的id,脚本直接去数据库判断是否存在

其实数据库可以设计id未主键,这样你直接insert即可,出错的话,数据库会容错


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10830128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存