如何遍历我目录中的文件,以便它们可以 opened/read 使用 PyPDF2?
How do I iterate through files in my directory so they can be opened/read using PyPDF2?
我正在为工作开发发票抓取器,我已经成功编写了所有代码来使用 PyPDF2 抓取我需要的字段。但是,我无法弄清楚如何将此代码放入 for 循环中,以便我可以遍历存储在我的目录中的所有发票。可能有 1 到 250 多个文件,具体取决于我将其用于哪个项目。
我以为我可以使用“*.pdf”代替 pdf 名称,但它对我不起作用。我对 Python 比较陌生,之前没有使用过那么多循环,所以任何指导将不胜感激!
import re
pdfFileObj = open(r'C:\Users\notylerhere\Desktop\Test Invoices\SampleInvoice.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
#Print all text on page
#print(pageObj.extractText())
#Grab Account Number Meter Number
accountNumber = re.compile(r'\d\d\d\d\d-\d\d\d\d\d')
meterNumber = re.compile(r'(\d\d\d\d\d\d\d\d)')
moAccountNumber = accountNumber.search(pageObj.extractText())
moMeterNumber = meterNumber.search(pageObj.extractText())
print('Account Number: '+moAccountNumber.group())
print('Meter Number: '+moMeterNumber.group(1))'''
Thanks very much!
您想遍历目录并独立处理每个文件。
有很多功能取决于您的用例。 os.walk 是一个很好的起点。
示例:
import os
for root, directories, files in os.walk('.'):
for file in files:
if '.pdf' in file:
openAndDoStuff(file)
另一个选项是 glob:
import glob
files = glob.glob("c:/mydirectory/*.pdf")
for file in files:
(Do your processing of file here)
您需要确保冒号后的所有内容都正确缩进。
import os
import PyPDF2
for el in os.listdir(os.getcwd()):
if el.endswith("pdf"):
pdf_reader = PyPDF2.PdfFileReader(open(os.getcwd() + "/" + el))
我正在为工作开发发票抓取器,我已经成功编写了所有代码来使用 PyPDF2 抓取我需要的字段。但是,我无法弄清楚如何将此代码放入 for 循环中,以便我可以遍历存储在我的目录中的所有发票。可能有 1 到 250 多个文件,具体取决于我将其用于哪个项目。
我以为我可以使用“*.pdf”代替 pdf 名称,但它对我不起作用。我对 Python 比较陌生,之前没有使用过那么多循环,所以任何指导将不胜感激!
import re
pdfFileObj = open(r'C:\Users\notylerhere\Desktop\Test Invoices\SampleInvoice.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
#Print all text on page
#print(pageObj.extractText())
#Grab Account Number Meter Number
accountNumber = re.compile(r'\d\d\d\d\d-\d\d\d\d\d')
meterNumber = re.compile(r'(\d\d\d\d\d\d\d\d)')
moAccountNumber = accountNumber.search(pageObj.extractText())
moMeterNumber = meterNumber.search(pageObj.extractText())
print('Account Number: '+moAccountNumber.group())
print('Meter Number: '+moMeterNumber.group(1))'''
Thanks very much!
您想遍历目录并独立处理每个文件。
有很多功能取决于您的用例。 os.walk 是一个很好的起点。
示例:
import os
for root, directories, files in os.walk('.'):
for file in files:
if '.pdf' in file:
openAndDoStuff(file)
另一个选项是 glob:
import glob
files = glob.glob("c:/mydirectory/*.pdf")
for file in files:
(Do your processing of file here)
您需要确保冒号后的所有内容都正确缩进。
import os
import PyPDF2
for el in os.listdir(os.getcwd()):
if el.endswith("pdf"):
pdf_reader = PyPDF2.PdfFileReader(open(os.getcwd() + "/" + el))