将 python filedialog 限制为特定文件类型

2024-05-04

我创建了以下试用代码来制作一个程序,该程序将 Excel 工作表加载到数据框中,然后将该数据框保存到另一个 Excel 工作表(所有用户选择)

import os
import pandas
from pandas import ExcelWriter
import tkinter as tk
from tkinter import filedialog

class Load_Save_Program():

    def __init__(self,master):
        self.master = master

        self.button1=tk.Button(self.master,text="Load",command=self.Load_file)
        self.button1.grid(row=0,column=0)

        self.button2=tk.Button(self.master,text="Save",command=self.Save_file)
        self.button2.grid(row=0,column=1)

        self.text=tk.Text(master)
        self.text.grid(row=1,column=0,columnspan=2)

    def Load_file(self):
        self.df_import=pandas.read_excel(filedialog.askopenfilename(initialdir = os.getcwd()),
                                            filetypes=("excel files","*.xlsx"))
        self.text.insert(tk.END,self.df_import)

    def Save_file(self):
        self.writer = ExcelWriter(filedialog.asksaveasfilename(initialdir = os.getcwd()),
                                            filetypes=("Excel files", "*.xlsx"))
        self.df_import.to_excel(self.writer,'sheet1')
        self.writer.save()

root=tk.Tk()
Load_Save_Program(root)
root.mainloop()

我想做的是扩展它,以便当程序弹出文件目录窗口时,它只显示 .xlsx 文件类型的文件,以避免用户打开不兼容的文件类型时出现错误。到目前为止,我还没有提供任何可以解释如何正确设置的信息。


filedalogs 有一个文件类型选项可以完全满足您的需求。一般语法是filetypes=[(label1, ext1), (label2, ext2), ...].

在你的情况下,这将给出:

filedialog.askopenfilename(filetypes=[("Excel files", "*.xlsx")])

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 python filedialog 限制为特定文件类型 的相关文章

  • 如何在 Ubuntu 16.04 上的 Python 3 / Matplotlib 2 中安装底图?

    I tried pip3 install basemap but Basemap https sourceforge net projects matplotlib files matplotlib toolkits 好像不在 PyPI 上
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • 在flatpak项目中使用scrapy脚本

    我正在构建一个 flatpak 构建的项目 我有一个按钮 当单击它时我希望它运行 scrapy 脚本来抓取数据 窗口用户界面
  • 如何从Python中的字符串中提取变量名称和值

    我有一根绳子 data var1 id 12345 name John White python中有没有办法将var1提取为python变量 更具体地说 我对字典变量感兴趣 这样我就可以获得变量的值 id和name python 这是由提供
  • 限制 django 应用程序模型中的单个记录?

    我想使用模型来保存 django 应用程序的系统设置 因此 我想限制该模型 使其只能有一条记录 极限怎么办 尝试这个 class MyModel models Model onefield models CharField The fiel
  • Flask-security 创建角色、用户并将 user_id 链接到 role_id

    我将 Flask Security 与 SQLAlchemy 一起使用 当想要添加用户或角色时 def addrole form addroll createRole user datastore create role name form
  • 如何在 Python 中将 pdf 文件附加到 MIME 电子邮件?

    我正在制作一个自动邮件发送程序 Python 3 6 1 用于电子邮件营销 我在附加 PDF 文件时遇到问题 邮件中的 PDF 文件的文件名和页数是正确的 但 PDF 文件始终为空白 并且其大小增加 我尝试了三种不同的方法 其他两种方法不起
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • Python 去掉字节 b' '

    import save string with open image jpg rb as f byte f read 1 while byte b byte f read 1 print byte 我得到的字节如下 b x00 我该如何摆脱
  • lxml/python 使用 CDATA 部分读取 xml

    在我的 xml 中我有一个CDATA部分 我想保留 CDATA 部分 然后剥离它 有人可以帮忙解决以下问题吗 默认不起作用 from io import StringIO from lxml import etree xml
  • 加入语音频道(discord.py)

    当我尝试让我的机器人加入我的语音频道时 出现以下错误 await client join voice channel voice channel 产生错误的行 Traceback most recent call last File usr
  • 返回表情符号名称而不是表情符号

    我有这个 1 不带单引号 在 Python 3 中 即 one 有没有一种方法可以获取表情符号 如上面的 并打印相应的表情符号 在本例中为 one 名称 我从 Discord py 反应对象中获取表情符号 就您而言 该表情符号是一个两个字符
  • 如何从 fastapi 响应返回 PIL 图像文件列表?

    我使用 fastapi 创建了一个rest api 它将文档 pdf 作为输入并返回它的 jpeg 图像 我使用一个名为 docx2pdf 的库进行转换 from docx2pdf import convert to from fastap
  • 如何在运行时更改按钮的颜色? [复制]

    这个问题在这里已经有答案了 button1 Button root text A1 width 8 grid row 0 column 0 button2 Button root text A2 width 8 grid row 0 col
  • google-oauthlib-tool 不询问授权码,并且在 rpi-4B 上没有“--headless”选项

    我正在尝试嵌入谷歌助手SDK https developers google com assistant sdk在我的树莓派上通过以下方式本指南由 Google 提供 https developers google com assistan
  • 类似 zip() 的内置函数用 None 值从左侧填充不等长度

    是否有一个内置函数 其工作方式类似于 zip 但填充结果 以便结果列表的长度是最长输入的长度并填充列表从左边例如None 已经有一个answer https stackoverflow com a 1277311 2648551 using
  • Cron 作业中的 PyAutoGUI

    我正在尝试运行一个程序 该程序可以通过 crontab 使用 Selenium 和 PyAutoGUI 在 python 3 6 中自动拉出一些选项卡 这是当 cron 不运行该程序时我尝试运行的脚本 import pyautogui im
  • 使用 Paramiko 进行 DSA 密钥转发?

    我正在使用 Paramiko 在远程服务器上执行 bash 脚本 在其中一些脚本中 存在与其他服务器的 ssh 连接 如果我只使用 bash 不使用 Python 我的 DSA 密钥将被第一个远程服务器上的 bash 脚本转发并使用 以连接
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单

随机推荐