我创建了以下试用代码来制作一个程序,该程序将 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(使用前将#替换为@)