吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1262|回复: 15
收起左侧

[Python 原创] 遍历目录到表格

[复制链接]
delphier 发表于 2024-9-5 17:34
大家好,我是菜鸟。
因为想将目录中的文件名导出到表格中,所以写了这个小程序,请各位大神指点。谢谢

1.遍历指定目录及子目录中的文件,将文件名输出至表格。
2.表格第1列为序号,第2列为一级目录,第3列为二级目录,第4列为文件名,第5列为文件地址。
3.点击“选择目录”,选择要遍历的目录,点击“输出到表格”,可以遍历目录及文件名到表格,并打开表格。

代码如下:
[Python] 纯文本查看 复制代码
import os
import tkinter as tk
from tkinter import filedialog
from openpyxl import Workbook


def browse_folder():
    folder_selected = filedialog.askdirectory()
    if folder_selected:
        entry_folder.delete(0, tk.END)
        entry_folder.insert(0, folder_selected)


def save_to_excel():
    folder_path = entry_folder.get()
    if not folder_path:
        return

    workbook = Workbook()
    sheet = workbook.active
    sheet.title = "Files"

    sheet.append(["序号", "一级目录", "二级目录", "文件名", "文件地址"])

    index = 1
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            directory = os.path.relpath(root, folder_path)
            parts = directory.split(os.sep)
            first_level = parts[0] if len(parts) > 0 else ""
            second_level = parts[1] if len(parts) > 1 else ""
            sheet.append([index, first_level, second_level, file, file_path])
            index += 1

    file_path = filedialog.asksaveasfilename(defaultextension=".xlsx", filetypes=[("Excel files", "*.xlsx")])
    if file_path:
        workbook.save(file_path)
        open_excel(file_path)


def open_excel(file_path):
    os.startfile(file_path)


# 创建主窗口
root = tk.Tk()
root.title("目录遍历到表格")

# 创建输入框和按钮
entry_folder = tk.Entry(root, width=50)
entry_folder.pack(pady=10)

button_browse = tk.Button(root, text="选择目录", command=browse_folder)
button_browse.pack(pady=5)

button_save = tk.Button(root, text="输出到表格", command=save_to_excel)
button_save.pack(pady=5)

root.mainloop()



运行截图如下:
图片.png

免费评分

参与人数 6吾爱币 +11 热心值 +5 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lccccccc + 2 + 1 我很赞同!
wxue + 1 + 1 谢谢@Thanks!
szmsys + 1 + 1 我很赞同!
fhlfxtd + 1 + 1 我很赞同!
13729178717 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lxq8432 发表于 2024-9-6 10:11
本帖最后由 lxq8432 于 2024-9-6 10:12 编辑

论坛里有一个作品

也是实现你说的功能

不知道是不是Python 写的

你找找看,看看有没有源代码

参考学习一下
fhlfxtd 发表于 2024-9-5 23:10
zhufuan 发表于 2024-9-6 07:03
老师,看起来挺好,不过我没有编程的软件,可以提供exe打包程序呢
lanjishu 发表于 2024-9-6 07:52
学习笔迹。加油
TobiasCN 发表于 2024-9-6 08:24
来就是学习。学习。谢谢
yourbestrun 发表于 2024-9-6 08:26
看起来不错。可是对于没有变成基础的 该怎么运行呢?
bigcan 发表于 2024-9-6 08:29
还是不错的,不过,用shell会简单很多吧
 楼主| delphier 发表于 2024-9-6 08:36
zhufuan 发表于 2024-9-6 07:03
老师,看起来挺好,不过我没有编程的软件,可以提供exe打包程序呢

刚接触,还不太会打包
jinqiaoa1a 发表于 2024-9-6 08:40
不会,来学习一下
zhufuan 发表于 2024-9-6 08:46
delphier 发表于 2024-9-6 08:36
刚接触,还不太会打包

这是用的什么编程语言
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 14:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表