【问题标题】:Delete rows of existing Excel-File删除现有 Excel 文件的行
【发布时间】: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


    【解决方案1】:

    有一些不受支持的代码。它不受支持,我认为它可以大大简化,但应该可以帮助您入门:

    https://bitbucket.org/snippets/openpyxl/qyzKn/sample-code-for-inserting-rows-in-an

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      • 1970-01-01
      相关资源
      最近更新 更多