在 once/an 整个目录的许多文件上运行 ipynb 脚本?
Runinng a ipynb script on many files at once/an entire directory?
我会第一个告诉你,我的Python技能充其量只是初学者,所以请原谅我的无知。
作为背景,我在 Anaconda Jupyter Notebooks 中创建了一个 Python 脚本,它从文件夹 C:\Users\...\PDFs
中读取单个 PDF,提取所述 PDF 的文本,然后通过一些拼接将感兴趣的文本放入它创建的 CSV 文件中。
问题是我想在 数百个 个 PDF 上执行此脚本(ipynb 脚本本身在对单个 PDF 执行时工作得很好,我只是不想继续手动更改 Notebook/Python 脚本中的文件名)。使用 pdfreader,我的脚本以以下内容开头:
import pdfreader
from pdfreader import PDFDocument, SimplePDFViewer
fd = open(r'C:Users\...\PDFs\[pdf name].pdf', 'rb')
viewer = SimplePDFViewer(fd)
doc = PDFDocument(fd)
这就是我卡住的地方 - 我不知道如何 运行 这个 on/import 文件夹中的所有 PDF。我看到有些人使用带星号的可变文件名,例如 C:\Users\...\PDFs\*.pdf
,但我无法做到这一点。似乎可以将我的 ipynb 保存为 py 文件,然后以某种方式 运行 在 Anaconda Prompt 中保存它,但是我一直在努力让这种方法也起作用。我不熟悉 bat 文件,但这些文件似乎也很有潜力。
有谁知道在一个目录中的许多 PDF 上同时 运行 此脚本的方法吗?我已经搜集了很多东西,但我这辈子都想不通。任何帮助将不胜感激! :)
您可以使用 glob
模块收集所有文件名,然后遍历它们。
import pdfreader
from pdfreader import PDFDocument, SimplePDFViewer
from glob import glob
pdf_files = glob(r'C:Users\...\PDFs\*.pdf')
for path in pdf_files:
fd = open(path, 'rb')
viewer = SimplePDFViewer(fd)
doc = PDFDocument(fd)
...
fd.close()
我会第一个告诉你,我的Python技能充其量只是初学者,所以请原谅我的无知。
作为背景,我在 Anaconda Jupyter Notebooks 中创建了一个 Python 脚本,它从文件夹 C:\Users\...\PDFs
中读取单个 PDF,提取所述 PDF 的文本,然后通过一些拼接将感兴趣的文本放入它创建的 CSV 文件中。
问题是我想在 数百个 个 PDF 上执行此脚本(ipynb 脚本本身在对单个 PDF 执行时工作得很好,我只是不想继续手动更改 Notebook/Python 脚本中的文件名)。使用 pdfreader,我的脚本以以下内容开头:
import pdfreader
from pdfreader import PDFDocument, SimplePDFViewer
fd = open(r'C:Users\...\PDFs\[pdf name].pdf', 'rb')
viewer = SimplePDFViewer(fd)
doc = PDFDocument(fd)
这就是我卡住的地方 - 我不知道如何 运行 这个 on/import 文件夹中的所有 PDF。我看到有些人使用带星号的可变文件名,例如 C:\Users\...\PDFs\*.pdf
,但我无法做到这一点。似乎可以将我的 ipynb 保存为 py 文件,然后以某种方式 运行 在 Anaconda Prompt 中保存它,但是我一直在努力让这种方法也起作用。我不熟悉 bat 文件,但这些文件似乎也很有潜力。
有谁知道在一个目录中的许多 PDF 上同时 运行 此脚本的方法吗?我已经搜集了很多东西,但我这辈子都想不通。任何帮助将不胜感激! :)
您可以使用 glob
模块收集所有文件名,然后遍历它们。
import pdfreader
from pdfreader import PDFDocument, SimplePDFViewer
from glob import glob
pdf_files = glob(r'C:Users\...\PDFs\*.pdf')
for path in pdf_files:
fd = open(path, 'rb')
viewer = SimplePDFViewer(fd)
doc = PDFDocument(fd)
...
fd.close()