openpyxl删除行列,不好使,那就用xlwings吧

       之前在用python修改excell文件的时候我使用的都是openpyxl,也确实都能解决问题,但是后面遇到了一个问题,就是删除行列。openpyxl在删除行或者列的时候会把后面的行或者列往前补,在没有合并单元格的时候,一切都很顺利;但是一旦有合并单元格的时候,删除行列后的excell就显得有些奇奇怪怪。......试了一下xlwings还挺好使的,xlwings调用excell的API当然好使了。

app = xw.App(visible=True, add_book=False)  # 创建App
app.display_alerts = False  # 警告提示,不显示Excel消息框
app.screen_updating = False  # 关闭屏幕更新,可加快宏的执行速度

        xlwings在整体操作逻辑上还是和openpyxl差不多的,说一下不同的地方。xlwings是选中某一个单元格或者某一个单元格区域操作,在选中多个单元格一个个的操作时效率低,应该尽量选中某一个单元格区域操作,应该尽量选中区域操作。如下图所示的就很耗时间。

 # ==============这一段逻辑最耗时间================
 for i in range(1, 6 + 1):
    for j in range(1, max_column + 1):
        cell_9 = get_column_letter(j) + str(i)
        value = str(ws.range(cell_9).value)
             for ch in value:
                 if ch != 'None':
                     if '\u4e00' <= ch <= '\u9fff':
                         ws.range(cell_9).font.name = '宋体'
                         ws.range(cell_9).font.size = 10
                         break
                     else:
                         ws.range(cell_9).font.name = 'Times New Roman'
                         ws.range(cell_9).font.size = 10

        除此之外xlwings还有一个不好使的地方,那就是没有明确的出错提示,这一点是非常恶心的,往往排除一个问题耗时间。总的来说能用openpyxl就用openpyxl吧,如果实在openpyxl不好使就用xlwings吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国服小闲鱼请战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值