如何获取同文件夹下所有PDF文件名并按名称保存至Excel
解决方案
你现有代码已经完成了PDF文件的筛选逻辑,缺的是Excel写入的具体实现,另外原文件遍历逻辑用os.chdir()切换工作目录存在影响后续路径操作的隐患,优化后完整实现如下:
前置依赖
先安装需要的第三方库,在终端执行以下命令:
pip install pandas openpyxl
完整代码
import os import pandas as pd def get_pdf_files(pdf_path): pdf_files = [] for item in os.listdir(pdf_path): item_full_path = os.path.join(pdf_path, item) # 仅统计文件,跳过子文件夹,同时兼容大小写.pdf后缀 if os.path.isfile(item_full_path) and item.lower().endswith(".pdf"): pdf_files.append(item) return pdf_files def save_name_list_to_excel(save_path, file_name_list): # 按需求构造表格内容,这里默认列名为PDF文件名,可根据自己的命名规则调整列、拆分文件名 df = pd.DataFrame({ "PDF文件名": file_name_list }) # Excel文件保存在PDF所在文件夹,文件名为PDF文件列表.xlsx,可自行修改 excel_save_path = os.path.join(save_path, "PDF文件列表.xlsx") df.to_excel(excel_save_path, index=False, engine="openpyxl") if __name__ == "__main__": # 替换为你存放PDF的实际文件夹路径 target_folder = r"替换为你的PDF文件夹实际路径" pdf_name_list = get_pdf_files(target_folder) save_name_list_to_excel(target_folder, pdf_name_list) print(f"处理完成,共获取{len(pdf_name_list)}个PDF文件,名称列表已保存到目标文件夹")
注意事项
- 代码不会修改原有PDF文件,仅读取文件名生成对应Excel
- 如果需要按照特定规则解析文件名(比如按分隔符拆分文件名、提取编号/日期等字段),可以在构造
df的位置添加对应的字符串处理逻辑 - 代码默认过滤目标路径下的子文件夹,如果需要递归遍历所有子文件夹内的PDF,可将
os.listdir替换为os.walk实现递归遍历
内容的提问来源于stack exchange,提问作者kkk
相关产品推荐
相关产品推荐

