Python for循环连接字符串作为批量PDF读取和搜索的一部分
希望能对在for循环中连接文本字符串有所帮助。我已经写了下面的代码。但是,我的Python for循环连接字符串作为批量PDF读取和搜索的一部分,python,for-loop,string-concatenation,Python,For Loop,String Concatenation,希望能对在for循环中连接文本字符串有所帮助。我已经写了下面的代码。但是,我的for page\u num in range(no\u pages)循环只是将我的PDF的最后一页添加到变量all\u text中。我做错了什么 如果我执行以下操作,我将正确连接文本。PDF文件有两页长(无页面=2) 这是我在测试文件“H:\PyTest\testfile3.pdf”中的完整代码 import os import datetime import PyPDF2 import nltk from nltk
for page\u num in range(no\u pages)
循环只是将我的PDF的最后一页添加到变量all\u text中。我做错了什么
如果我执行以下操作,我将正确连接文本。PDF文件有两页长(无页面=2)
这是我在测试文件“H:\PyTest\testfile3.pdf”中的完整代码
import os
import datetime
import PyPDF2
import nltk
from nltk.tokenize import sent_tokenize, word_tokenize
search_dir = 'H:\PyTest\Test file 3.pdf'
pdfFileObj = open(search_dir, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
no_pages = pdfReader.numPages
no_pages
for page_num in range(no_pages):
all_text = ""
new_text = pdfReader.getPage(page_num).extractText()
all_text += new_text
print(sent_tokenize(all_text))
word_search = ['Random', 'Dynamic', 'Company', 'Stake', 'results']
for item in word_search:
if item in all_text:
print(item + ': Found')
else:
print(item + ': Not Found')
pdfFileObj.close()
理想情况下,我不想创建新文件来将文本复制到/保存,因为此函数是一个更广泛的函数的一部分,该函数:
for page_num in range(no_pages):
all_text = ""
new_text = pdfReader.getPage(page_num).extractText()
all_text += new_text
在
for
循环中,每次所有文本都变为空'
您需要将all_text=''
放在循环之前
all_text = ""
for page_num in range(no_pages):
new_text = pdfReader.getPage(page_num).extractText()
all_text += new_text
连接字符串的python方法是使用join
方法和列表理解
all_text = ''.join([text for text in pdfReader.getPage(page_num).extractText()])
谢谢。太简单了!如果这个或任何其他的答案解决了你的问题,请考虑一下。谢谢!
all_text = ''.join([text for text in pdfReader.getPage(page_num).extractText()])