【发布时间】:2017-09-28 15:44:24
【问题描述】:
我目前正在编写一个脚本,它应该通过操作内存中的数据然后保存它来删除现有 Excel 文件的记录。
我正在做的是创建应该从不同 Excel 文件中删除的不同值集(skus)。 大部分脚本已经在运行,“唯一”的问题是它的主要功能:删除现有 Excel 文件的记录。
我曾尝试使用 openpyxl,但它没有 delete_row 函数,并且不推荐使用garbage_collect() 函数(这将是我最糟糕的情况决定)。
我不想做的是用 XLRD 打开文件并用 XLWT 写入。我也不能使用 xlwings,因为运行脚本的机器正在 Linux 上运行(win32 COM 出于同样的原因无法工作)。而且我不想使用 is Pandas(我之前尝试过使用这个模块,但它对我来说太复杂了)。
我知道这些限制非常严格,但我仍然希望有办法解决这个问题。
这是一些代码示例:
for index, row in enumerate(ws.iter_rows('A{}:A{}'.format(ws.min_row,ws.max_row))): # I thought that I could use the row index to then delete it with it
for cell in row:
if cell.value <> header_xlsx:
if '"' + cell.value + '"' in set:
cell.value = '' # This is where I'd like to delete the row
ws.garbage_collect() # Optional
请注意,我知道互联网上有很多类似的问题,但到目前为止(我已经看了很多)我还没有找到任何“好的”解决方案。
提前非常感谢!
【问题讨论】:
标签: python python-2.7 xlsx openpyxl delete-row