gpt4 book ai didi

python - 使用Python拉取一个目录下所有pdf文档的页数

转载 作者:行者123 更新时间:2023-12-05 04:11:20 26 4
gpt4 key购买 nike

我正在尝试使用 PyPDF2 获取目录中每个 pdf 的页数。我可以使用 .getNumPages() 来查找一个 pdf 文件中的页数,但我需要遍历一个目录并获取每个文件的页数。有什么想法吗?

这是我目前的代码:

import pandas as pd
import os
from PyPDF2 import PdfFileReader
df = pd.DataFrame(columns=['fileName', 'fileLocation', 'pageNumber'])
pdf=PdfFileReader(open('path/to/file.pdf','rb'))
for root, dirs, files in os.walk(r'Directory path'):
for file in files:
if file.endswith(".pdf"):
df2 = pd.DataFrame([[file, os.path.join(root,file),pdf.getNumPages()]], columns=['fileName', 'fileLocation', 'pageNumber'])
df = df.append(df2, ignore_index=True)

这段代码只会将目录中第一个 PDF 文件的页数添加到数据框中。如果我尝试向 PdfFilereader() 添加目录路径,我会得到一个

PermissionError:[Errno 13] Permission denied.

最佳答案

是的,使用

import glob
list_of_pdf_filenames = glob.glob('*pdf')

返回目录中所有 PDF 文件名的列表。

**编辑:**

通过将 open() 语句放在循环中,我能够让这段代码在我的计算机上运行:

import pandas as pd
import os
from PyPDF2 import PdfFileReader
df = pd.DataFrame(columns=['fileName', 'fileLocation', 'pageNumber'])
for root, dirs, files in os.walk(r'/home/benjamin/docs/'):
for f in files:
if f.endswith(".pdf"):
pdf=PdfFileReader(open(os.path.join(root, f),'rb'))
df2 = pd.DataFrame([[f, os.path.join(root,f), pdf.getNumPages()]], columns=['fileName', 'fileLocation', 'pageNumber'])
df = df.append(df2, ignore_index=True)
print(df.head)

关于python - 使用Python拉取一个目录下所有pdf文档的页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com