如何使用python创建GUI以接受用户输入并将其插入Excel工作表

时间:2019-11-27 06:08:11

标签: python excel user-interface tkinter xlsxwriter

我想用一个用户输入创建一个Python GUI,每当用户输入插入按钮时,该输入便会插入到excel工作表中,另一个用户调用例如显示单词,这将读取插入到excel工作表中的所有单词。 ,有什么想法要怎么做?

excel工作表应该是这样

enter image description here

并且用户界面应该像这样简单

enter image description here

我为GUI创建的一些代码,但对于文本文件却不是excel

from tkinter import *

root = Tk()
root.geometry("700x700")
ivn = StringVar()
inputVarName = Entry(root, textvariable=str(ivn))
ivn.set(str("text1"))
inputVarName.grid(row=0, column=0)

ivn2 = StringVar()
inputVarName2 = Entry(root, textvariable=str(ivn2))
ivn2.set(str("text2"))
inputVarName2.grid(row=1, column=0)




def writetofile():
   content_list = [ivn.get(), ivn2.get()]

   print("\n".join(content_list))    
   with open("help.txt", "a") as f:
       for item in content_list:
           f.write("%s\n" % item)

applyButton = Button(root, text="Apply", command=writetofile)
applyButton.grid(row=2, column=1)



root.mainloop() ```
sorry if its silly question but this will be my first python GUI program


1 个答案:

答案 0 :(得分:2)

您可以使用python tkinter创建GUI,也可以使用此库创建输入字段并接受输入的值。之后,您可以简单地使用python csv库将记录插入表中。

您可以找到有关tkinter Here

的更多信息。

使用此代码从test.txt(使用txt文件)文件中读取数据,也按照要求将数据插入文件中,还将检查是否存在相同的数据。您可以通过单击查看数据按钮来查看数据。

from tkinter import *

root = Tk()
root.geometry("700x700")
ivn = StringVar()
inputVarName = Entry(root, textvariable=str(ivn))
ivn.set(str("text1"))
inputVarName.grid(row=0, column=0)

ivn2 = StringVar()
inputVarName2 = Entry(root, textvariable=str(ivn2))
ivn2.set(str("text2"))
inputVarName2.grid(row=1, column=0)


def printSomething():
    with open('help.txt') as f:
        r = f.read()
    label = Label(root, text=r)
    label.grid()


def checkdata():
    with open('help.txt') as f:
        r = f.read()
    return r.split("\n")


def writetofile():
    exist_data = checkdata()
    content_list = [ivn.get(), ivn2.get()]
    with open("help.txt", "a") as f:
        for item in content_list:
        if item in exist_data:
            msg = "Already exist "+item
            label = Label(root, text=msg)
            label.grid()
        elif not item in exist_data:
            f.write("%s\n" % item)


applyButton = Button(root, text="Add Data", command=writetofile)
applyButton.grid(row=2, column=1)

veiwButton = Button(root, text='View Data', command=printSomething)
veiwButton.grid(row=3, column=1)

root.mainloop()

注意:有多种方法可以实现这一目标,其中一种就是这种方法。