嗨我参与纳米比亚的旅游团。我们记录水读数等。每天输入一个Excel文件并计算每个Pax的消耗量,问题不是每个员工都理解Excel。所以我写了一个简单的Python程序,自动将读数输入到excel中。它唯一的问题是我想在每个月保存一张新表并按月分组所有数据(例如1月(所有读数)2月(所有读数))。我可以创建一个新工作表,但我无法将数据输入到新工作表中,它只是覆盖了前几个月的数据......代码如下所示
*import tkinter
from openpyxl import load_workbook
from openpyxl.styles import Font
import time
import datetime
book = load_workbook('sample.xlsx')
#sheet = book.active
Day = datetime.date.today().strftime("%B")
x = book.get_sheet_names()
list= x
if Day in list: # this checks if the sheet exists to stop the creation of multiple sheets with the same name
sheet = book.active
else:
book.create_sheet(Day)
sheet = book.active
#sheet = book.active*
然后写入我使用的工作表和条目小部件,然后将值保存如下:
Bh1=int(Bh1In.get())
if Bh1 == '0':
import Error
else:
sheet.cell(row=Day , column =4).value = Bh1
number_format = 'Number'
也许我是傻瓜,但请帮助!!
答案 0 :(得分:3)
您依赖于获取活动工作表而不是按名称访问它。只需使用类似的东西:
try:
sheet = wb[Day]
except KeyError:
sheet = wb.create_sheet(Day)
可能就是你所需要的。
答案 1 :(得分:0)
尝试
if Day in list: # this checks if the sheet exists to stop the creation of multiple sheets with the same name
sheet = book.get_sheet_by_name(Day)
else:
book.create_sheet(Day)
book.save('sample.xlsx')
sheet = book.get_sheet_by_name(Day)