如何在 Python 中打开多个加密的 PDF 并在没有密码的情况下保存
How open multiple encrypted PDF and save without password in Python
我是新手,刚开始学习第一门语言 Python。
我正在尝试编写代码来打开多个加密的 pdf 文件并在没有密码的情况下保存它们。
所有文件都在一个文件夹中,我有一个包含列 filename
和 password
.
的 csv 文件 filePassword.csv
但是我的代码不起作用。请指导我如何解决此错误。
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: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or 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)
您可以使用 iterrows()
遍历数据帧 df
,然后按以下方式访问 filename
和 password
。不需要嵌套循环。
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'])
我是新手,刚开始学习第一门语言 Python。
我正在尝试编写代码来打开多个加密的 pdf 文件并在没有密码的情况下保存它们。
所有文件都在一个文件夹中,我有一个包含列 filename
和 password
.
filePassword.csv
但是我的代码不起作用。请指导我如何解决此错误。
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: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or 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)
您可以使用 iterrows()
遍历数据帧 df
,然后按以下方式访问 filename
和 password
。不需要嵌套循环。
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'])