希望这是一个非常简单的方法,但是对于使用python 3进行小型项目我是全新的,并且需要一些指导。我有一个超过1000个pdf文档的文件夹,其中包含一些我想提取的数据。我可以成功地将PDF转换为文本文件并将其保存在scripts目录中,但是我不知道如何一次对所有PDF运行此文件,并在新文件夹中为每个PDF创建输出文件。我到目前为止的代码如下。
'ID1','ID2','ID3'
'RELID1','RELID2','RELID3'
在我前进的过程中,我将不胜感激。谢谢!
答案 0 :(得分:0)
我可以想到两种方法。如果您希望为几个文件这样做。您可以按以下方式将所有文件路径附加到列表中。并遍历它。功能相同,只是从列表中进行迭代。例如,
list = ["C:\\Users\\blabla\\Desktop\\.pdf\\test.pdf"
,"C:\\Users\\blabla\\Desktop\\.pdf\\testmore.pdf"
,"C:\\Users\\blabla\\Desktop\\.pdf\\writingtoxml.pdf"
,"C:\\Users\\blabla\Desktop\\.pdf\\2Data.pdf"]
for pathname in list:
#your code goes here
否则,您可以从给定目录进行迭代。将所有文档放在一个文件夹中,如下所示指定目录并进行遍历。如果您希望每个文件都使用不同的输出名称,请重命名它们。
import os
directory = "C:\\Users\\blabla\\Desktop\\.pdf"
for filename in os.listdir(directory):
if filename.endswith(".pdf"):
pathname = os.path.join(directory, filename)
#Your code goes here
continue
else:
continue
您需要在代码中更改的唯一部分是替换此部分:
with open('/sample/mypdf.pdf', 'rb') as fh:
与此:
with open(pathname, 'rb') as fh:
因为pathname
本身会打印出所需的路径,如下所示:
C:\Users\blabla\Desktop\.pdf\test.pdf
C:\Users\blabla\Desktop\.pdf\testmore.pdf
C:\Users\blabla\Desktop\.pdf\writingtoxml.pdf
C:\Users\blabla\Desktop\.pdf\2Data.pdf