当前位置:首页>python>【实用技巧】用 Python 一键生成文件夹树状结构 Excel,批量整理文件超省心!

【实用技巧】用 Python 一键生成文件夹树状结构 Excel,批量整理文件超省心!

  • 2026-10-11 08:34:15
【实用技巧】用 Python 一键生成文件夹树状结构 Excel,批量整理文件超省心!
日常工作中,我们经常需要整理电脑里的文件 —— 比如统计某个文件夹下的所有文件(包括子文件夹),还要清晰展示层级关系。手动一个个列出来费时又容易漏,今天就教你用 Python 写一段简单代码,批量读取文件夹所有文件,自动生成树状结构的 Excel 表格,新手也能轻松上手!
01
先看最终效果
假设你的文件夹结构是这样的:

厨房资料

├─ 菜谱

│  ├─ 川菜.xlsx

│  └─ 粤菜.txt

└─ 厨具

   └─ 联动门尺寸.docx

运行代码后,Excel 会自动生成如下格式(清晰展示层级、类型、完整路径):

表格

树状结构 类型 完整路径

厨房资料 【文件夹】 D:\ 厨房资料

├─ 菜谱 【文件夹】 D:\ 厨房资料 \ 菜谱

│ ├─ 川菜.xlsx 【文件】 D:\ 厨房资料 \ 菜谱 \ 川菜.xlsx

│ ├─ 粤菜.txt 【文件】 D:\ 厨房资料 \ 菜谱 \ 粤菜.txt

├─ 厨具 【文件夹】 D:\ 厨房资料 \ 厨具

│ ├─ 联动门尺寸.docx 【文件】 D:\ 厨房资料 \ 厨具 \ 联动门尺寸.docx

02
准备工作(3 步搞定)
在运行代码前,先完成基础准备,全程不复杂,跟着做就行!
步骤 1:安装 Python(如果已安装跳过)
  1. 打开浏览器,搜索 “Python 官网”,进入Python 下载页面;
  2. 选择对应系统(Windows/Mac)的最新版本,下载后安装;
  3. 关键勾选:安装时一定要勾选 “Add Python to PATH”(添加到环境变量),否则后续命令行无法识别 Python。
步骤 2:安装必要的库
代码需要用到openpyxl库来操作 Excel,安装方法如下:
  1. 按下 Win+R,输入 “cmd” 打开命令提示符(Mac 用户打开 “终端”);
  2. 输入以下命令,按回车执行:
pip install openpyxl
  1. 等待安装完成(出现 “Successfully installed” 就说明装好了)。
步骤 3:准备代码文件
  1. 在桌面新建一个文本文档,命名为 “文件树生成器.txt”;
  2. 把下面的完整代码复制进去,然后将文件后缀从 “.txt” 改成 “.py”(如果看不到后缀,先在电脑 “文件夹选项” 中勾选 “显示文件扩展名”)。
03
完整代码(直接复制可用)
import osfrom openpyxl import Workbookdef get_folder_tree(folder_path):    """    遍历文件夹,生成树状结构的文件列表    :param folder_path: 目标文件夹路径    :return: 树状结构的文件信息列表,每个元素是[层级展示, 文件名, 完整路径]    """    # 存储最终的树状数据    tree_data = []    # 遍历文件夹:root是当前目录,dirs是当前目录下的子文件夹,files是当前目录下的文件    for root, dirs, files in os.walk(folder_path):        # 计算当前路径相对于根目录的层级(根目录层级为0)        level = root.replace(folder_path, '').count(os.sep)        # 生成层级缩进符(第一层不用缩进,第二层开始加│  ,最后一层加├─)        indent = '│  ' * (level - 1) if level > 0 else ''        # 处理文件夹名称        folder_name = os.path.basename(root)        if level == 0:            # 根目录本身            tree_data.append([folder_name, '【文件夹】', root])        else:            # 子文件夹            tree_data.append([f'{indent}├─ {folder_name}', '【文件夹】', root])        # 处理当前文件夹下的文件        file_indent = '│  ' * level        for file in files:            file_path = os.path.join(root, file)            tree_data.append([f'{file_indent}├─ {file}', '【文件】', file_path])    return tree_datadef write_to_excel(tree_data, excel_path):    """    将树状数据写入Excel    :param tree_data: 树状结构数据    :param excel_path: 输出Excel的路径(如:D:/文件列表.xlsx)    """    # 创建新的Excel工作簿    wb = Workbook()    # 获取默认工作表    ws = wb.active    # 设置表头    ws.append(['树状结构', '类型', '完整路径'])    # 写入数据    for row in tree_data:        ws.append(row)    # 调整列宽(让内容显示完整)    ws.column_dimensions['A'].width = 60  # 树状结构列宽    ws.column_dimensions['B'].width = 10  # 类型列宽    ws.column_dimensions['C'].width = 80  # 完整路径列宽    # 保存Excel    wb.save(excel_path)    print(f'✅ Excel已生成:{excel_path}')if __name__ == '__main__':    # -------------------------- 请修改这里的路径 --------------------------    # 目标文件夹路径(替换成你要读取的文件夹,路径用/或\\都可以)    target_folder = r'D:\厨房资料'    # 输出Excel的路径(替换成你想保存的位置和文件名)    output_excel = r'D:\厨房文件列表.xlsx'    # ---------------------------------------------------------------------    # 检查目标文件夹是否存在    if not os.path.exists(target_folder):        print(f'❌ 错误:文件夹 {target_folder} 不存在,请检查路径!')    else:        # 获取树状结构数据        tree_data = get_folder_tree(target_folder)        # 写入Excel        write_to_excel(tree_data, output_excel)
04
详细操作步骤(新手必看)
步骤 1:修改文件夹和 Excel 路径
打开刚创建的 “文件树生成器.py” 文件(右键选择 “编辑”),找到以下两行代码,替换成自己的路径:

# 目标文件夹路径:改成你要统计的文件夹(比如桌面的“厨房资料”)

target_folder = r'D:\厨房资料'

# 输出Excel路径:改成你想保存Excel的位置(比如桌面)

output_excel = r'C:\Users\你的名字\Desktop\厨房文件列表.xlsx'

⚠️ 路径设置注意事项:
  • 路径前一定要加r(避免转义字符报错);
  • Windows 系统路径用\或/都可以,比如`r'C:\Users\张三\Desktop'`;
  • 替换时保留引号,只改引号内的内容。
步骤 2:运行代码
  1. 保存修改后的.py 文件;
  2. 双击这个.py 文件,会弹出一个黑色的命令提示符窗口;
  3. 等待几秒,窗口中显示 “✅ Excel 已生成:XXX 路径”,就说明运行成功了!
步骤 3:查看结果
打开你设置的output_excel路径,就能看到生成的 Excel 文件,里面清晰展示了所有文件的树状结构、类型和完整路径。
05
常见问题解决(避坑指南)
问题 1:运行代码提示 “找不到模块 openpyxl”
✅ 解决:重新打开命令提示符,输入`pip install openpyxl`,确保安装成功(如果提示 “pip 不是内部命令”,说明 Python 没添加到环境变量,需重新安装 Python 并勾选 “Add Python to PATH”)。
问题 2:提示 “文件夹不存在”
✅ 解决:检查target_folder路径是否正确,比如是否输错了文件夹名、是否多了 / 少了反斜杠。
问题 3:Excel 文件打不开
✅ 解决:确保运行代码时 Excel 文件没有被打开,且输出路径是有权限的位置(比如桌面、D 盘,避免 C 盘系统文件夹)。
06
进阶优化(可选)
如果想筛选特定类型的文件(比如只统计 Excel 文件),可以在代码中找到以下位置,添加筛选条件:
# 处理当前文件夹下的文件file_indent = '│  ' * levelfor file in files:    # 新增:只保留.xlsx后缀的文件    if file.endswith('.xlsx'):        file_path = os.path.join(root, file)        tree_data.append([f'{file_indent}├─ {file}', '【文件】', file_path])
支持的筛选后缀:.txt、.docx、.pdf等,只需把.xlsx换成对应后缀即可。
07
总结
  • 核心逻辑:用os.walk()递归遍历文件夹,通过层级计算生成树状缩进,再用openpyxl写入 Excel;
  • 操作关键:先装 Python 和 openpyxl 库,正确修改文件夹 / Excel 路径,运行代码即可生成结果;
  • 适用场景:整理项目文件、统计资料清单、汇报文件目录等,彻底告别手动整理!
这个小工具能大幅提升文件整理效率,无论是工作还是生活中都超实用。如果运行过程中遇到任何问题,欢迎在评论区留言,我会一一解答~

最新文章

随机文章