如何在 Python 中打开多个加密的 PDF 并在没有密码的情况下保存

问题描述

我是新手,刚刚开始我的第一门语言 Python。

我正在尝试编写代码来打开多个加密的 pdf 文件并在没有密码的情况下保存它们。

所有文件都在一个文件夹中,我有一个包含 filePassword.csvfilename 列的 csv 文件 password

但是我的代码不起作用。请指导我如何解决错误

import pikepdf as pdf
import pandas as pd
df = pd.read_csv('filePassword.csv')
filename,password = df['filename'],df['password']
for file in filename:
    for code in password:
        file1 = pdf.open(file,code)
        file1.save('1_'+filename)

我收到此错误

ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

解决方法

尝试使用 file 而不是 filename

import pikepdf as pdf
import pandas as pd
df = pd.read_csv('filePassword.csv')
for file in df['filename']:
    for code in df['password']:
        file1 = pdf.open(file,code)
        file1.save('1_' + file)
,

您可以使用 df 遍历数据帧 iterrows(),然后按以下方式访问 filenamepassword。不需要嵌套循环。

import pikepdf as pdf
import pandas as pd
df = pd.read_csv('filePassword.csv')
for index,row in df.iterrows():
    file1 = pdf.open(row['filename'],row['password'])
    file1.save('1_'+row['filename'])