我想选择列表中的最后20
个项目,将它们复制到新的电子表格中,一旦复制,我想从第一个电子表格delete
中删除它们。
我有第一部分(复制最后20部分),但我不确定如何delete
该单元格,因此在我保存后它不会显示为none
。
过滤= [-20:] 如何从电子表格中删除这20个单元格?
def cell_values(somesheet):
# extract the last 20 items from the worksheet
filtered = [x for x in somesheet.rows if x is not None]
last20 = filtered[-20:]
extracted_values = []
for row in last20:
for cell in row:
# print cell.value
extracted_values.append(cell.value)
问题是filtered = [x for x in sheet.rows if x is not None]
无效并且实际将None
项追加到filtered
列表
如何确保仅选择最后20个不是none
的项目?
我从列表中选择它们后删除它们
答案 0 :(得分:2)
[x for x in somesheet.rows if x is not None]
将返回行列表,因为ws.rows
会返回行列表。
目前无法从工作表中删除单元格。最好的方法是将它们的值设置为None。除非它们具有特殊格式,否则在保存文件时将从工作表中删除它们。不推荐调用ws.garbage_collect()
,因为它没有任何意义。