美文网首页
把txt文件中的数据 写入mongodb

把txt文件中的数据 写入mongodb

作者: Odven | 来源:发表于2020-03-19 13:52 被阅读0次

    def write_mongodb(data):

        # 正则表达式匹配每一行我们想要的数据

        pattern = re.compile(r".*/(\w+),(\w+),(\d+)")

        for item in data:

            item = item.strip()

            d = pattern.match(item)

            a_code = d.group(1)

            b_code = d.group(2)

            batch_no = d.group(3)

            user_id = bson.ObjectId("aaabbb")

            msg = {"a_code": a_code, "b_code": b_code, "batch_code": batch_code, "batch_no": batch_no,

                      "created_at": datetime.datetime.now(), "updatead_at": datetime.datetime.now(),

                      "invaild": True, "invaild_at": datetime.datetime.now(),

                      "user_id": user_id, "user_name": "test"}

            try:

                fake_table.insert_one(msg)

            except Exception as e:

                logging.info(item)

                logging.info(e)

                pass

    if __name__ == '__main__':

        # 文件中的内容是   https://info.svnup.cn/A/3ED00646C15F4CF0A110769796DNAC6,22621C99067B4D91BDSDGB3A60702C6D,00000001

        file = glob.glob("fake_file_dir/*.txt")

        if len(file) != 1:

            print("fake_file_dir目录下只能有一个文件而却只能是要导入的那个文件")

            exit()

        # 从文件中读出数据把每行数据分开放在一个大列表中data

        with open(file[0]) as f:

            file_data = f.readlines()

        print("总共有---> %s <----数据" % len(file_data))

        file = os.path.basename(file[0])

        batch_code = re.match(r"(.*)\.txt", file)

        batch_code = batch_code.group(1)

        # 调用write_mongodb函数

        write_mongodb(file_data)

    相关文章

      网友评论

          本文标题:把txt文件中的数据 写入mongodb

          本文链接:https://www.haomeiwen.com/subject/ikxlyhtx.html