如何使用 openpyxl 保存到特定目录?

How do I save to a specific directory using openpyxl?

我正在尝试将我使用 openpyxl 创建的 Excel 工作簿保存到用户通过 Tkinter "browse" 按钮输入的特定目录。我在输入的 "save spot," 处保存了工作簿,但我收到一条错误消息,说它是一个目录。

在生成工作簿的函数中,我有:

wb.save(save_spot)

"save spot" 是通过函数生成的:

def set_save_destination():
    global save_spot
    save_spot = filedialog.askdirectory()
    save_spot = str(save_spot)

用户通过以下 Tkinter GUI 代码进入 select 目录,在我的 GUI class:

monthly_browse = ttk.Button(self, text='Select Save Destination', command=set_save_destination)

我收到的错误消息是 "IsADirectoryError" 但我不确定问题出在哪里,正如所说,您可以直接将目录输入保存方法。我是编程新手,完全是自学成才,所以任何帮助都会很棒!谢谢!

您需要提供所需文件夹的完整路径,请参见下面的示例

from openpyxl import Workbook
wb = Workbook()
ws1 = wb.active
ws1.title = "1st Hour"
wb.save('/home/user/Desktop/FileName.xlsx')

因此您可以将文件名添加到 save_spot 变量

    save_spot = str(save_spot)+'/filename.xlsx'