python3解析word或者pdf 按照标题,内容,解析,并存入mysql 中
时间: 2023-07-16 17:14:58 浏览: 139
python-and-mysql.pdf
解析 Word 文档可以使用 Python-docx 库,解析 PDF 文档可以使用 PyPDF2 库。以下是一个示例代码,可以解析 Word 和 PDF 文档中的标题和内容,并将其存储到 MySQL 数据库中。
首先,需要安装 Python-docx 和 PyPDF2 库:
```
pip install python-docx PyPDF2
```
然后,需要安装 MySQL Connector/Python 驱动程序:
```
pip install mysql-connector-python
```
接下来,可以使用以下代码来解析 Word 和 PDF 文档,并将数据存储到 MySQL 数据库中:
```python
import mysql.connector
from docx import Document
from PyPDF2 import PdfFileReader
# 设置 MySQL 连接参数
config = {
'user': 'username',
'password': 'password',
'host': 'localhost',
'database': 'database_name'
}
# 建立 MySQL 连接
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
# 解析 Word 文档
def parse_word(filename):
document = Document(filename)
for paragraph in document.paragraphs:
# 获取标题和内容
title = paragraph.style.name
content = paragraph.text
# 将数据插入到 MySQL 数据库中
query = "INSERT INTO documents (title, content) VALUES (%s, %s)"
values = (title, content)
cursor.execute(query, values)
cnx.commit()
# 解析 PDF 文档
def parse_pdf(filename):
with open(filename, 'rb') as f:
pdf = PdfFileReader(f)
for page in pdf.pages:
# 获取标题和内容
title = page.extractText().split('\n')[0]
content = page.extractText()
# 将数据插入到 MySQL 数据库中
query = "INSERT INTO documents (title, content) VALUES (%s, %s)"
values = (title, content)
cursor.execute(query, values)
cnx.commit()
# 解析并存储文档
filename = 'test.docx'
parse_word(filename)
filename = 'test.pdf'
parse_pdf(filename)
# 关闭 MySQL 连接
cursor.close()
cnx.close()
```
在上面的代码中,解析 Word 文档使用了 Python-docx 库,解析 PDF 文档使用了 PyPDF2 库。将解析得到的标题和内容插入到 MySQL 数据库中,使用了 MySQL Connector/Python 驱动程序。可以根据实际情况更改数据库连接参数和表结构。
阅读全文