我正在尝试在google sheets上为我的工作自动化排班系统(我在一家书店工作,我正在学习编程作为一种爱好)。我已经创建了两个列表,一个带有时间段,另一个带有我想要在电子表格中打印的日期。
到目前为止,我的代码如下:
days = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
daysIter = iter(days)
timeslots = ["8:00AM","8:30AM","9:00AM","9:30AM","10:00AM","10:30AM","11:00AM","11:30AM",
"12:00PM","12:30PM","1:00PM","1:30PM","2:00PM","2:30PM","3:00PM","3:30PM","4:00PM","4:30PM",
"5:00PM","5:30PM","6:00PM","6:30PM","7:00PM","7:30PM","8:00PM","8:30PM","9:00PM","9:30PM"]
timesIter = iter(timeslots)
daysonsheet = sheet.range("A2:A7")
timesonsheet = sheet.range("C1:AD1")
sheet.update_acell('A1',days[0])
for cell in daysonsheet:
cell.value = next(daysIter)
sheet.update_cells(daysonsheet)
sheet.update_acell('B1',timeslots[0])
for cell1 in timeslots:
cell1.value = next(timesIter)
sheet.update_cells(timesonsheet)
我可以很好地更新daysonsheet,但是timesonsheet抛出:
File "/Users/*******/Rostering2", line 52, in <module>
cell1.value = next(timesIter)
AttributeError: 'str' object has no attribute 'value'
据我所知,它们都是相同的,但在for循环中工作的'cell‘不是作为对象创建的,而'cell1’是由于某种原因而创建的。
如果有人能对此有所了解,那就太好了。
发布于 2018-11-20 10:39:08
代码中的timeslots是一个没有.value属性的字符串列表。您应该遍历一个为timeonsheet的Cell对象列表。另外,考虑将sheet.update_cells调用移到循环之外,以节省应用编程接口调用。
for cell1 in timesonsheet:
cell1.value = next(timesIter)
sheet.update_cells(timesonsheet)https://stackoverflow.com/questions/53385236
复制相似问题