【发布时间】:2018-07-25 20:14:23
【问题描述】:
from tkinter import *
import pandas as pd
def retrieve_input():
file = textBox.get("1.0","end-1c")
basefileread = pd.read_csv(str(textBox) + '.csv', encoding='latin-1')
basefilevalue = basefileread.loc[basefileread['Customer'].str.contains('Lam DepT', na=False),'Jun-18\nQty']
master = Tk()
master.geometry('200x100')
textBox = Text(master, height=2, width=10)
textBox.pack()
button1 = Button(master,text="Get Value", command=lambda: retrieve_input())
button1.pack()
master.mainloop()
print(int(textBox)+10)
我正在尝试提取我放入文本框中的信息并运行以下代码,我想指定我希望程序读取哪个 csv 文件,并从该文件中找到我指定的值。我试图在我的熊猫阅读器的文本框中进行硬编码,但在提取我在 GUI 中键入的字符串信息并显示该字符串以便它可以运行我的代码时遇到了麻烦。我不确定我是否正确地表达了我的问题。当我运行它时,我得到了错误:
FileNotFoundError: File b'.!text.csv' does not exist
【问题讨论】:
-
您需要将 pandas 代码移动到 retrive_input 函数中,以便在单击按钮时运行它。该功能还需要您想对数据执行任何操作,我假设将其打印或将其添加到小部件以进行显示。
-
@Novel 好的,谢谢,但是我之前确实尝试过,并且得到了现在在我编辑的问题中发布的错误,所以我认为这是错误的方法。知道为什么我会收到此错误吗?
-
您希望将保存的名称加载到变量“文件”中。所以
basefileread = pd.read_csv(file+'.csv', encoding='latin-1')。还记得添加打印或其他内容,以便您看到结果。 -
无关,但是那个 lambda 函数没用。只需传递要直接执行的函数。
button1 = Button(master,text="Get Value", command=retrieve_input) -
@Novel 效果很好!感谢您的帮助,意义重大。
标签: python pandas file tkinter