可以使用 Python 的 os
和 shutil
模块来实现这个需求。
具体的思路如下:
-
遍历 Excel 表的每一行,获取该行对应的 PDF 文件名(假设在
pdf_filename
列)。 -
根据该文件名和 PDF 文件所在的文件夹路径(
'C:\\Users\\win10\\Documents\\pdf'
),构造出完整的 PDF 文件路径。 -
使用
shutil
模块中的copy()
函数,将 PDF 文件复制到桌面上的一个新建文件夹中。你可以使用os.path.join()
函数来构造目标路径,例如os.path.join(desktop_path, pdf_filename)
,其中desktop_path
为桌面路径
import os
import shutil
import pandas as pd
from pathlib import Path
# 获取桌面路径
desktop_path = Path.home() / 'Desktop'
# 读取 Excel 表格,获取需要拷贝的 PDF 文件名
df = pd.read_excel(r'C:\Users\win10\Desktop\新建 XLSX 工作表.xlsx')
pdf_filenames = df['pdf_filename'].tolist()
# 拷贝 PDF 文件
for pdf_filename in pdf_filenames:
# 构造 PDF 文件完整路径
pdf_path = os.path.join('C:\\Users\\win10\\Documents\\pdf', pdf_filename)
# 判断文件是否存在,如果不存在则跳过当前循环
if not os.path.isfile(pdf_path):
print(f'{pdf_filename} 不存在')
continue
# 构造目标路径
target_path = os.path.join(str(desktop_path), 'pdf_files')
# 如果目标文件夹不存在,则创建它
if not os.path.isdir(target_path):
os.mkdir(target_path)
# 拷贝 PDF 文件
shutil.copy(pdf_path, target_path)