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
相关产品推荐
相关产品推荐

