【发布时间】:2020-08-10 22:37:22
【问题描述】:
我正在尝试将 df 写入现有工作表。最初程序会打开一个对话框选择要添加的新工作表名称,然后找到 Excel 工作表的路径。
#reload window to select new sheet name
root = tk.Tk()
root.geometry('500x200+350+150')
root.configure(bg='#072462')
#set buttons
label_date = Label(root, text='Input New Sheet Name', bg='#072462', fg='white')
ws_new_title = Entry(root, width=45, bg='#0A1944', fg='white', highlightthickness=0, borderwidth=0)
ws_new_title.insert(0, 'YYYY-MM-DD') #insert guide text in box
button_ws_name = Button(root, width=20, text='Select Export Excel File', command=root.quit)
button_ws_name.configure(fg='#C51E42', bg='#06122f', borderwidth=5)
label_date.pack()
ws_new_title.pack()
button_ws_name.pack(pady=30)
root.mainloop()
查找excel路径的对话框代码(工作)
#find and save to new excel sheet based on a input of name
root = tk.Tk()
root.title('Great Britain Basketball')
root.withdraw()
file_path_export = filedialog.askopenfilename(initialdir='/Desktop/', title='Select Player Tracking document')
root.update()
export_fn = file_path_export
打开工作簿并添加新工作表的代码(认为这可能是错误的)
book = load_workbook(export_fn)
writer = pd.ExcelWriter(export_fn, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
终于将 df (full_append) 写入 excel
full_append.to_excel(writer, startrow=len(df)+1, index=False, header=False, sheet_name='Season Data') #working -write to exsisting sheet and append to bottom row
full_append.to_excel(writer, sheet_name=ws_new_title, index=False) #not working - write to same sheet but on seperate sheet taking name from input
writer.save()
所以主要问题是程序没有使用规定的工作表名称(ws_new_title 变量)在工作簿中添加新工作表,并将 df 写入其中。谢谢
【问题讨论】:
标签: python excel pandas dataframe