我想读取"我想读取“D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf”这个PDF的内容,把读取的内容合并成一个字符串,然后用中文或英文句号进行分割,把分割的结果打印出来
时间: 2023-06-17 13:06:05 浏览: 35
好的,为了读取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)
```
我想读取“D:\点宽学院”这个文件下所有PDF的内容,先把所有读取到的内容合并成一个字符串并打印出来,用python实现
你可以使用Python的`os`和`PyPDF2`库来实现这个功能。首先,你需要安装`PyPDF2`库,可以使用以下命令进行安装:
```
pip install PyPDF2
```
然后,你可以使用以下代码来实现读取指定目录下所有PDF文件并将其内容合并成一个字符串:
```python
import os
import PyPDF2
# 设置目标目录
dir_path = r"D:\点宽学院"
# 读取目录下所有PDF文件的内容
pdf_content = []
for filename in os.listdir(dir_path):
if filename.endswith(".pdf"):
filepath = os.path.join(dir_path, filename)
with open(filepath, "rb") as f:
pdf_reader = PyPDF2.PdfFileReader(f)
for page_num in range(pdf_reader.getNumPages()):
page = pdf_reader.getPage(page_num)
pdf_content.append(page.extractText())
# 合并所有PDF内容
merged_content = "\n".join(pdf_content)
# 打印合并后的内容
print(merged_content)
```
上面的代码中,`dir_path`变量设置为目标目录,使用`os.listdir`函数获取目录下所有文件名,然后通过判断文件名是否以`.pdf`结尾来筛选出所有的PDF文件。接着,使用`PyPDF2`库的`PdfFileReader`类打开PDF文件,并使用`extractText`方法提取每一页的文本内容。最后,将所有的文本内容合并成一个字符串并打印出来。