You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python开发文件夹浏览GUI:多选文件路径存入DataFrame并支持多次选择

Python GUI 文件路径收集工具(支持多次多选并存入DataFrame)

下面是一个基于tkinter(Python内置GUI库)和pandas的可运行实现,满足你需要的多次浏览文件夹、多选文件、路径存入DataFrame的需求:

import tkinter as tk
from tkinter import filedialog
import pandas as pd

# 初始化主窗口
root = tk.Tk()
root.title("文件路径收集工具")
root.geometry("600x400")

# 初始化存储文件路径的DataFrame
file_df = pd.DataFrame(columns=["文件路径"])

def browse_and_add_files():
    # 弹出文件选择对话框,支持多选
    selected_files = filedialog.askopenfilenames(
        title="选择文件",
        filetypes=[("所有文件", "*.*")]  # 可根据需求修改文件类型过滤
    )
    
    if selected_files:
        # 将选中的文件路径转为DataFrame
        new_files_df = pd.DataFrame(selected_files, columns=["文件路径"])
        # 追加到主DataFrame(忽略索引避免重复)
        global file_df
        file_df = pd.concat([file_df, new_files_df], ignore_index=True)
        # 更新文本框显示已选路径
        update_display()

def update_display():
    # 清空文本框并重新写入当前所有路径
    display_text.delete(1.0, tk.END)
    if not file_df.empty:
        display_text.insert(tk.END, "已收集的文件路径:\n")
        for idx, path in enumerate(file_df["文件路径"], 1):
            display_text.insert(tk.END, f"{idx}. {path}\n")
    else:
        display_text.insert(tk.END, "暂未选择任何文件")

# 创建组件
browse_btn = tk.Button(root, text="浏览并选择文件", command=browse_and_add_files, padx=10, pady=5)
display_text = tk.Text(root, wrap=tk.WORD, height=15, width=70)

# 布局组件
browse_btn.pack(pady=15)
display_text.pack(pady=5, padx=10)

# 启动主循环
root.mainloop()

关键功能说明

  • 多次多选支持:每次点击按钮都会弹出文件选择框,选中的文件路径会追加到DataFrame中,不会覆盖之前的选择
  • DataFrame存储:所有选中的路径都存在file_df里,你可以在程序中随时调用这个DataFrame做后续处理(比如导出为CSV、批量处理文件等)
  • 实时显示:文本框会实时展示当前已收集的所有文件路径,方便你确认选择结果

可扩展的点

  • 可以添加导出为CSV按钮,调用file_df.to_csv("文件路径列表.csv", index=False)实现导出
  • 修改filetypes参数来过滤特定类型的文件(比如[("文本文件", "*.txt"), ("Excel文件", "*.xlsx")])
  • 添加清空已选路径的功能,通过重置file_df并调用update_display()实现

内容的提问来源于stack exchange,提问作者alirezausefi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 10:30:43