【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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性