回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我最近完成了一个数据标准化脚本,目前正试图通过使用Tkinter创建一个应用程序,使其更加用户友好。我已经设法通过Tkinter运行了数据标准化脚本,但该脚本需要在不同的数据集之间进行细微的更改</p>
<p>我试图实现的是在脚本中的特定位置插入一段用户定义的文本。我在Tkinter上尝试了文本小部件,但是我只在应用程序中打开了脚本,这是我避免做的事情(最好应用程序用户甚至不需要看到原始代码)</p>
<p>我想做的是有一个Tkinter文本框,旁边有一个“Run”按钮。这样,当用户插入一个特定的名称(例如“2020年1月法律会议与会者”)时,它会自动将这段文本放在这里<code>df['Data Identifier'] = ''</code></p>
<p>我当前的Tkinter代码如下所示:</p>
<pre><code> def __init__(self):
super(Root, self).__init__()
self.title("Python Tkinter Dialog Widget")
self.minsize(320, 200)
self.text_area = Text()
self.text_area.grid(column = 2, row = 3)
self.labelFrame = ttk.LabelFrame(self, text = "Open File")
self.labelFrame.grid(column = 0, row = 1, padx = 20, pady = 20)
self.button()
self.button1()
self.button2()
self.textbox()
self.textbox1()
self.textbox2()
def button(self):
self.button = ttk.Button(self.labelFrame, text = "Browse a File",command = self.open_file)
self.button.grid(column = 1, row = 1)
def button1(self):
self.button1 = ttk.Button(self.labelFrame, text = "Cleanse Campaign Codes",command = self.standardize)
self.button1.grid(column = 1, row = 7)
def button2(self):
self.button2 = ttk.Button(self.labelFrame, text = "Cleanse Data",command = self.helloCallBack)
self.button2.grid(column = 1, row = 8)
def textbox(self):
self.textbox = ttk.Entry(self.labelFrame)
self.textbox.grid(column = 6, row = 1)
def textbox1(self):
self.textbox1 = ttk.Entry(self.labelFrame)
self.textbox1.grid(column = 6, row = 2)
def textbox2(self):
self.textbox2 = ttk.Entry(self.labelFrame)
self.textbox2.grid(column = 6, row = 3)
def helloCallBack(self):
os.system('python data_cleansing_final.py')
def open_file(self):
open_return = filedialog.askopenfile(initialdir = "C:/", title="Select file to open", filetypes=(("python files", "*.py"), ("all files", "*.*")))
for line in open_return:
self.text_area.insert(END, line)
def standardize(self):
open_return = open_return.apply(lambda x: difflib.get_close_matches(x, textbox)[0])
root = Root()
root.mainloop()
</code></pre>
<p>我将非常感谢任何帮助或建议</p>