Python自动化处理办公文件:批量重命名与格式转换

发布时间:2026/5/23 7:37:44

Python自动化处理办公文件:批量重命名与格式转换 Python自动化处理办公文件批量重命名与格式转换在日常办公中我们经常需要处理大量文件比如重命名、格式转换或数据提取。手动操作不仅耗时还容易出错。Python提供了强大的库来自动化这些任务让办公效率大幅提升。本文将通过两个实际案例演示如何使用Python批量重命名文件和转换文件格式适合有一定Python基础的读者。## 环境准备确保已安装Python建议3.6及以上版本。我们将使用os和shutil库进行文件操作pandas库处理数据文件。如果未安装pandas可以通过pip安装bashpip install pandas## 案例一批量重命名文件假设我们有一个文件夹里面包含多个办公文档如Word、Excel、PDF文件名杂乱无章需要统一重命名为“文档_序号”的格式。### 操作步骤1. 导入必要的库。2. 指定目标文件夹路径。3. 遍历文件夹中的所有文件。4. 为每个文件生成新名称并重命名。### 代码示例pythonimport os# 指定文件夹路径folder_path “/path/to/your/folder” # 替换为实际路径# 获取文件夹中所有文件files os.listdir(folder_path)# 过滤出文件排除子文件夹files [f for f in files if os.path.isfile(os.path.join(folder_path, f))]# 按顺序重命名for i, filename in enumerate(files, start1): # 获取文件扩展名 file_extension os.path.splitext(filename)[1] # 构建新文件名 new_name f文档_{i}{file_extension} # 重命名文件 os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name)) print(f重命名: {filename} - {new_name}“)print(“批量重命名完成”)运行此脚本后文件夹中的文件将被重命名为“文档_1.pdf”、“文档_2.docx”等格式。注意请先备份原始文件以防意外覆盖。## 案例二批量转换Excel文件为CSV格式有时我们需要将Excel文件转换为CSV格式以便在其他系统中使用。Python的pandas库可以轻松实现这一转换。### 操作步骤1. 导入pandas库。2. 指定源文件夹包含Excel文件和目标文件夹用于保存CSV文件。3. 遍历源文件夹中的Excel文件。4. 读取每个Excel文件并保存为CSV格式。### 代码示例pythonimport osimport pandas as pd# 指定源文件夹和目标文件夹路径source_folder “/path/to/excel/files” # 替换为实际路径target_folder “/path/to/csv/files” # 替换为实际路径# 确保目标文件夹存在os.makedirs(target_folder, exist_okTrue)# 获取源文件夹中所有Excel文件支持.xlsx和.xlsexcel_files [f for f in os.listdir(source_folder) if f.endswith((‘.xlsx’, ‘.xls’))]# 批量转换for filename in excel_files: # 构建完整文件路径 excel_path os.path.join(source_folder, filename) # 读取Excel文件 df pd.read_excel(excel_path) # 构建CSV文件名替换扩展名 csv_name os.path.splitext(filename)[0] “.csv” csv_path os.path.join(target_folder, csv_name) # 保存为CSV df.to_csv(csv_path, indexFalse) print(f转换: {filename} - {csv_name}”)print(“批量转换完成”)此脚本将源文件夹中的所有Excel文件转换为CSV格式并保存到目标文件夹。pandas默认读取第一个工作表如果需要特定工作表可以在read_excel函数中指定sheet_name参数。## 进阶技巧处理子文件夹如果文件分布在多个子文件夹中我们可以使用os.walk来递归遍历所有文件。以下是一个扩展示例批量重命名所有子文件夹中的文件pythonimport osfolder_path “/path/to/root/foldercounter 1for root, dirs, files in os.walk(folder_path): for filename in files: file_extension os.path.splitext(filename)[1] new_name f文档_{counter}{file_extension}” os.rename(os.path.join(root, filename), os.path.join(root, new_name)) print(f重命名: {filename} - {new_name}) counter 1print(“递归重命名完成”)## 注意事项- 在运行脚本前务必备份原始文件避免数据丢失。- 根据实际需求调整代码例如过滤特定文件类型或添加更复杂的命名规则。- 如果文件数量巨大考虑添加错误处理如try-except块来提高脚本的健壮性。通过Python自动化处理办公文件我们可以节省大量时间专注于更有价值的工作。尝试修改这些示例代码以适应你的具体场景逐步构建自己的办公自动化工具集。

相关新闻