我想读取"我想读取“D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf”这个PDF的内容,把读取的内容合并成一个字符串,然后用中文或英文句号进行分割,把分割的结果打印出来,用python,不用pypdf2库
时间: 2023-06-17 14:06:06 浏览: 104
好的,你可以使用Python中的PyMuPDF库来实现这个功能。以下是代码:
```python
import fitz
# 读取PDF文件
doc = fitz.open(r"D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf")
# 定义一个空字符串来存储读取的内容
text = ""
# 读取每一页的内容并添加到字符串中
for page in doc:
text += page.getText()
# 用中文或英文句号进行分割
text = text.replace('\n', '') # 去掉换行符
text = text.replace('\r', '') # 去掉回车符
text = text.replace(' ', '') # 去掉空格
text = text.replace('。', '。\n') # 中文句号
text = text.replace('. ', '.\n') # 英文句号
# 打印分割结果
print(text)
```
这个程序会读取指定路径下的PDF文件,并把每一页的内容合并成一个字符串。然后,它会用中文或英文句号进行分割,并把分割的结果打印出来。
相关问题
我想读取"我想读取“D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf”这个PDF的内容,把读取的内容合并成一个字符串,然后用中文或英文句号进行分割,把分割的结果打印出来
好的,为了读取PDF文件,我们需要使用Python的第三方库PyPDF2。请先在命令行或终端中安装它,命令如下:
```
pip install PyPDF2
```
安装好后,以下是代码实现:
```python
import PyPDF2
# 打开pdf文件
pdf_file = open('D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf', 'rb')
# 读取pdf内容
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
content = ""
for page in range(pdf_reader.numPages):
content += pdf_reader.getPage(page).extractText()
# 分割内容并打印
split_content = content.split("。")
for s in split_content:
print(s.strip() + "。")
# 关闭pdf文件
pdf_file.close()
```
这段代码会读取指定路径下的PDF文件,把内容合并成一个字符串,并用句号进行分割,最后打印出来。你可以把代码中的文件路径改为你想要读取的PDF文件的路径。
import fitz # 读取PDF文件 doc = fitz.open(r"D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf") # 定义一个空字符串来存储读取的内容 text = "" # 读取每一页的内容并添加到字符串中 for page in doc: text += page.getText() # 用中文或英文句号进行分割 text = text.replace('\n', '') # 去掉换行符 text = text.replace('\r', '') # 去掉回车符 text = text.replace(' ', '') # 去掉空格 text = text.replace('。', '。\n') # 中文句号 text = text.replace('. ', '.\n') # 英文句号 # 打印分割结果 print(text) 这个代码跑不了,说AttributeError: 'Page' object has no attribute 'getText',我应该如何修改
这个错误是因为fitz库的版本更新导致的。可以使用以下代码来代替`page.getText()`:
```
text += page.get_text("text")
```
修改后的完整代码如下:
```
import fitz # 读取PDF文件
doc = fitz.open(r"D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf")
# 定义一个空字符串来存储读取的内容
text = ""
# 读取每一页的内容并添加到字符串中
for page in doc:
text += page.get_text("text")
# 用中文或英文句号进行分割
text = text.replace('\n', '') # 去掉换行符
text = text.replace('\r', '') # 去掉回车符
text = text.replace(' ', '') # 去掉空格
text = text.replace('。', '。\n') # 中文句号
text = text.replace('. ', '.\n') # 英文句号
# 打印分割结果
print(text)
```
阅读全文