Python Openpyxl删除单元格
我想挑选列表中最后的Python Openpyxl删除单元格,python,excel,openpyxl,Python,Excel,Openpyxl,我想挑选列表中最后的20项,将它们复制到一个新的电子表格中,一旦复制完毕,我想从第一个电子表格中删除它们 我有第一部分要做(复制最后20个),但我不知道如何删除该单元格,这样保存后它就不会显示为none 过滤=[-20:] 如何从电子表格中删除这20个单元格 def cell_values(somesheet): # extract the last 20 items from the worksheet filtered = [x for x in somesheet.rows
20
项,将它们复制到一个新的电子表格中,一旦复制完毕,我想从第一个电子表格中删除它们
我有第一部分要做(复制最后20个),但我不知道如何删除该单元格,这样保存后它就不会显示为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代表x在工作表中。如果x不是None,那么x代表x行]
不起作用,并且实际上将None
项附加到filtered
列表中
我如何确保只挑选最后20个不是none
的项目?
以及在我从列表中选择它们后删除它们[x代表somesheet中的x.rows如果x不是None]
将返回行列表,因为ws.rows
返回行列表
目前无法从工作表中删除单元格。最好是将它们的值设置为“无”。除非它们具有特殊格式,否则在保存文件时将从工作表中删除它们。调用ws.garbage\u collect()
是不可取的,因为它没有任何意义。我尝试在工作表上使用garbage\u collect(),但出现了一个错误,错误是此方法是私有的,不应直接调用您似乎无法删除单元格。另外,我猜您的单元格不是真正的None
,而是字符串:“None”。