python - 您如何允许用户通过终端在 Python 脚本中上传 2 个 excel 文件,而不是下载一个新文件?
问题描述
我已经使用 pandas 构建了一个数据处理工具。我的脚本需要 2 个非常大的 excel 文件(超过 17000 行)转换为 dfs 并汇总和合并 2 个数据框。这给我留下了最后一个df。我的问题是我希望这个脚本被我以外的人使用。我可以使用输入函数(使用 Python 3)获取某些变量的值
例如:
WinRate = input("Enter the Win Rate Percentage:")
但我正在努力寻找一种方法来允许用户上传 2 个文件以实际运行脚本。我希望他们能够下载后续的输出文件。您能给我的任何帮助将不胜感激。谢谢。
解决方案
您可以使用 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
推荐阅读
- python - 一个洗牌然后解洗python列表的好方法
- javascript - 如何使用“加法混合”以外的混合模式使不透明度影响材质
- python - 在python中,GC如何处理mmap?
- regex - 正则表达式在 Atom 或 Sublime 中查找用乘数替换
- python - script-write dict 并将其写入文件然后加载
- java - 如何在 Eclipse 下获取 Java 应用程序的 JVM Monitor CPU 统计信息?
- javascript - for循环数组中的所有数字都需要显示
- c# - 如何将数据绑定到xamarin中的stacklayout
- java - 为什么这个Java小程序会让MacOS重启?
- dart - 在 Dart 中 - 是否有与 python 的检查模块类似的包?