【2024Python教程】-MongoDB数据库连接

2024-06-22 02:52

本文主要是介绍【2024Python教程】-MongoDB数据库连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MongoDB数据库连接实战

 MongoDB数据库连接

  • 首先,通过以下代码连接到本地的MongoDB:
client = MongoClient('mongodb://localhost:27017/')
  • 然后,创建或切换到名为pdf_contents的数据库:
db = client['pdf_contents']
  • pdf_contents数据库中,创建或切换到名为contents的集合(相当于关系数据库中的表):
collection = db['contents']
  • 在遍历PDF文件的循环中,通过以下代码将每个PDF文件的信息插入到contents集合中:
data = {"filename": filename,"text": text,"category": category
}
collection.insert_one(data)

这里data是一个Python字典,包含了PDF文件名、文本内容和分类信息。collection.insert_one(data)将这个字典作为一个文档插入到contents集合中。

  • 每插入一个文档,就打印一行信息,表示该PDF文件已经处理并存储到MongoDB中。

所以,这段代码的作用是:遍历指定目录下的所有PDF文件,提取每个PDF文件的文本内容,对文本内容进行简单分类,然后将PDF文件名、文本内容和分类信息作为一个文档存储到MongoDB的pdf_contents数据库的contents集合中。


MongoDB实战

 举个例子,我们希望把很多份技术文档(PDF格式)转为TXT,并将文章内容,文章标题存到

MongoDB。

首先安装相关的库:

pip install PyPDF2  
pip install pymongo
pip install sys
pip install io

import PyPDF2  # PyPDF2库
from pymongo import MongoClient  # MongoDB Python驱动import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')# 连接到MongoDB数据库
client = MongoClient('mongodb://localhost:27017/')
db = client['pdf_contents']
collection = db['contents']# 定义一个函数来提取PDF文本内容
def extract_pdf_text(pdf_path):with open(pdf_path, 'rb') as pdf_file:pdf_reader = PyPDF2.PdfReader(pdf_file)text = ""for page_num in range(len(pdf_reader.pages)):page = pdf_reader.pages[page_num]text += page.extract_text()return text# 定义一个函数来对文本进行分类
def categorize_text(text):# 这里可以添加自定义的分类逻辑# 例如,根据关键词或机器学习模型对文本进行分类# 为了简单起见,我们假设只有两个类别:"技术"和"非技术"if "code" in text.lower() or "programming" in text.lower():category = "技术"else:category = "非技术"return category# 遍历指定目录下的所有PDF文件
import os
dir_path = "C:/pdf" #只需要在这里替换你的pdf文件夹pdf path
for filename in os.listdir(dir_path):if filename.endswith(".pdf"):pdf_path = os.path.join(dir_path, filename)text = extract_pdf_text(pdf_path)category = categorize_text(text)data = {"filename": filename,"text": text,"category": category}collection.insert_one(data)print(f"文件 {filename} 已处理并存储到MongoDB")

详细讲讲这里的MongoDB的数据连接

这篇关于【2024Python教程】-MongoDB数据库连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083085

相关文章

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成