正如标题所示,我正在用Python创建一个Excel文件,并试图添加一个“保存为”tkinter函数,该函数将允许用户将导出的Excel文件保存在他们喜欢的地方。(通过输入确切的路径),但是创建“保存为”选项比预期的要困难。(由于明显的原因省略了信息),请让我知道我是否可以提供更多上下文的任何其他信息:
import pandas as pd
import pyodbc
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from tkinter.filedialog import asksaveasfile
root = Tk()
root.geometry('200x150')
cnxn = pyodbc.connect('')
script1=""
script2=""
df1 = pd.read_sql_query(script1, cnxn)
df2 = pd.read_sql_query(script2, cnxn)
def save():
files = [("Excel files", "*.xlsx"),('All Files', '*.*')]
file = asksaveasfile(filetypes = files, defaultextension = files)
df1.to_excel(file, sheet_name='Initial Appointment', index=False)
df2.to_excel(file, sheet_name='Follow Ups', index=False)
btn = ttk.Button(root, text = 'Save', command = lambda : save())
btn.pack(side = TOP, pady = 20)
mainloop()
编辑:“保存为”对话框打开,但它不保存Excel文件,而是脚本,所以它似乎.我可以保存为Excel文件,但当打开它,我得到一个错误,说它是无效的(这可能意味着无论我保存的不是这种格式).
1条答案
按热度按时间7lrncoxx1#
有点晚了,但希望能帮助到其他人。
我遇到了这个问题。我在windows10上使用openpyxl,tkinter,它保存了它,但它没有添加.xlsx扩展名,所以一个快速解决方案是只添加字符串。
我把这段代码贴出来,以防其他人有同样的问题:
**重要提示:**请确保您是通过命令提示符运行脚本,并以管理员身份使用脚本。Openpyxl会向windows写入内容,如果您不是以普通用户身份运行命令提示符,有时它将无法工作。