使用Python一键导出文件夹目录结构到Excel - 完整教程
编辑
22
2025-03-26
引言
在日常工作中,我们经常需要整理和分析文件夹中的文件结构,特别是当目录层级较深、文件数量较多时,手动记录文件名和路径会非常耗时。Python可以帮助我们自动化这一过程,快速生成文件清单并导出到Excel,方便后续管理或分析。
本文将介绍如何编写一个Python脚本,递归遍历当前文件夹及其子目录,提取所有文件和文件夹的名称、路径、大小、修改时间等信息,并保存到Excel表格中。
1. 为什么需要导出文件夹结构?
文件管理:快速查看所有文件,避免遗漏重要文件。
备份检查:核对文件是否完整,确保备份无误。
数据分析:统计文件类型、大小分布,优化存储空间。
团队协作:共享文件清单,提高协作效率。
2. Python实现:递归遍历文件夹并导出Excel
2.1 安装依赖库
在运行脚本前,确保已安装pandas
和openpyxl
(用于Excel操作):
bash
复制
pip install pandas openpyxl
2.2 完整Python脚本
python
复制
import os
import pandas as pd
from datetime import datetime
def get_file_list_recursive(directory='.'):
"""递归获取目录及其子目录下的所有文件和文件夹信息"""
file_list = []
for root, dirs, files in os.walk(directory):
# 处理当前目录下的文件夹
for dir_name in dirs:
full_path = os.path.join(root, dir_name)
file_stat = os.stat(full_path)
file_list.append({
'文件名': dir_name,
'路径': os.path.relpath(full_path, directory),
'类型': '文件夹',
'大小(MB)': 0,
'修改时间': datetime.fromtimestamp(file_stat.st_mtime).strftime('%Y-%m-%d %H:%M:%S')
})
# 处理当前目录下的文件
for file_name in files:
full_path = os.path.join(root, file_name)
file_stat = os.stat(full_path)
size_mb = file_stat.st_size / (1024 * 1024)
file_list.append({
'文件名': file_name,
'路径': os.path.relpath(full_path, directory),
'类型': '文件',
'大小(MB)': round(size_mb, 2),
'修改时间': datetime.fromtimestamp(file_stat.st_mtime).strftime('%Y-%m-%d %H:%M:%S')
})
return file_list
def save_to_excel(file_list, output_file='file_list_recursive.xlsx'):
"""将文件列表保存到Excel"""
df = pd.DataFrame(file_list)
# 按类型和路径排序
df = df.sort_values(by=['类型', '路径'], ascending=[False, True])
# 保存到Excel
df.to_excel(output_file, index=False)
print(f"共找到 {len(file_list)} 个文件和文件夹,已保存到 {output_file}")
if __name__ == '__main__':
print("正在递归提取当前文件夹及其子目录下的文件列表...")
try:
# 获取当前文件夹及其子目录下的文件列表
files = get_file_list_recursive()
# 保存到Excel
save_to_excel(files)
except Exception as e:
print(f"发生错误: {e}")
3. 脚本运行效果
运行后,脚本会生成一个file_list_recursive.xlsx
文件,包含以下列:
4. 进阶优化
筛选特定文件类型:只导出
.pdf
或.jpg
文件。计算文件夹大小:遍历子文件累加大小(需额外代码)。
导出为CSV/JSON:使用
df.to_csv()
或df.to_json()
。GUI界面:用
tkinter
或PyQt
制作可视化工具。
5. 总结
本文介绍了如何用Python快速导出文件夹结构到Excel,适用于文件管理、数据分析等场景。该脚本具有以下优点:
✅ 递归遍历子目录,确保不遗漏任何文件
✅ 自动计算文件大小,并转换为MB单位
✅ 记录修改时间,方便版本管理
✅ 导出为Excel,便于查看和进一步处理
你可以直接复制代码使用,或根据需求进行扩展。希望这个脚本能提高你的工作效率!🚀
📌 你的需求是什么?
是否需要计算文件夹总大小?
是否需要按文件类型筛选?
是否需要图形化界面?
欢迎在评论区交流你的想法!💬
- 1
- 0
-
分享