首页 > 解决方案 > 如何修复excel文件中的双重数据输入

问题描述

当excel文件为空白时使用GUI时,保存为标题,它将两次插入信息。然后,在连续运行期间,它将不再插入到 excel 文件中。

将 master.quit 更改为 master.destroy

import pandas as pd

def submit_fields():
    path = 'C:\Python32\RequestForm.xlsx'
    df1 = pd.read_excel(path)
    SeriesA = df1['Name']
    SeriesB = df1['Reason']
    SeriesC = df1['startDate']
    SeriesC = df1['endDate']
    A = pd.Series(entry1.get())
    B = pd.Series(entry2.get())
    C = pd.Series(entry3.get())
    D = pd.Series(entry4.get())
    SeriesA = SeriesA.append(A)
    SeriesB = SeriesB.append(B)
    SeriesC = SeriesC.append(C)
    SeriesD = SeriesD.append(D)
    df2 = pd.DataFrame({"Name":SeriesA, "Reason":SeriesB, "startDate":SeriesC, "endDate":SeriesD})
    df2.to_excel(path, index=False)
    entry1.delete(0, END)
    entry2.delete(0, END)
    entry3.delete(0, END)
    entry4.delete(0, END)

master = Tk()
master.geometry('250x250')
master.title("Request Form")

Label(master, text="Name").grid(row=0)
Label(master, text="Reason").grid(row=1)
Label(master, text="Start Date").grid(row=2)
Label(master, text="End Date").grid(row=3)


entry1 = Entry(master)
entry2 = Entry(master)
entry3 = Entry(master)
entry4 = Entry(master)

entry1.grid(row=0, column=1, pady=4)
entry2.grid(row=1, column=1, pady=4)
entry3.grid(row=2, column=1, pady=4)
entry4.grid(row=3, column=1, pady=4)


Button(master, text='Quit', command=master.destroy).grid(row=4,column=0, pady=4)
Button(master, text='Submit', command=submit_fields).grid(row=4,column=1, pady=4)

mainloop()

预期结果是应使用数据输入 GUI 中的信息填充一行。并且应该在 GUI 重新打开和使用时工作。实际结果,第一次工作,但插入加倍。第一次后将无法工作。

在此处输入图像描述

标签: pythontkinter

解决方案


发现问题。复制粘贴让我。

 SeriesA = df1['Name']
    SeriesB = df1['Reason']
    SeriesC = df1['startDate']
    **SeriesC** = df1['endDate']

推荐阅读