【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

相关文章

Python中Tkinter GUI编程详细教程

《Python中TkinterGUI编程详细教程》Tkinter作为Python编程语言中构建GUI的一个重要组件,其教程对于任何希望将Python应用到实际编程中的开发者来说都是宝贵的资源,这篇文... 目录前言1. Tkinter 简介2. 第一个 Tkinter 程序3. 窗口和基础组件3.1 创建窗

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

MySQL MHA集群详解(数据库高可用)

《MySQLMHA集群详解(数据库高可用)》MHA(MasterHighAvailability)是开源MySQL高可用管理工具,用于自动故障检测与转移,支持异步或半同步复制的MySQL主从架构,本... 目录mysql 高可用方案:MHA 详解与实战1. MHA 简介2. MHA 的组件组成(1)MHA

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE