首页 > 解决方案 > 您如何允许用户通过终端在 Python 脚本中上传 2 个 excel 文件,而不是下载一个新文件?

问题描述

我已经使用 pandas 构建了一个数据处理工具。我的脚本需要 2 个非常大的 excel 文件(超过 17000 行)转换为 dfs 并汇总和合并 2 个数据框。这给我留下了最后一个df。我的问题是我希望这个脚本被我以外的人使用。我可以使用输入函数(使用 Python 3)获取某些变量的值

例如:

WinRate = input("Enter the Win Rate Percentage:")

但我正在努力寻找一种方法来允许用户上传 2 个文件以实际运行脚本。我希望他们能够下载后续的输出文件。您能给我的任何帮助将不胜感激。谢谢。

标签: pythonpython-3.xexcelterminal

解决方案


您可以使用 Tkinter 创建一个简单的 gui。Tkinter 具有显示文件对话框的功能。然后,您可以向用户询问 2 个输入文件(一个接一个)和输出文件名。然后,您可以在脚本中使用这些文件名

import tkinter
import tkinter.filedialog

root = tkinter.Tk()
root.withdraw() # Remove background screen

# Ask for name of inputfiles
excelfile1 = tkinter.filedialog.askopenfilename(parent=root, title="Select first Excel file", defaultextension = ".xlsx")
excelfile2 = tkinter.filedialog.askopenfilename(parent=root, title="Select second Excel file", defaultextension = ".xlsx")

# Ask for name of outputfile
output_excel = tkinter.filedialog.asksaveasfilename(parent=root, title="Give name of outputfile", defaultextension=".xlsx")
# ... Use excel files in the rest of your script

推荐阅读