m0_57748717 2022-05-12 18:39 采纳率: 76.3%
浏览 134
已结题

关于python用openpyxl删除excel行的问题

有一个需求,如果将一行内含某些关键字的话,就删掉一整行,因此我写了下面这样一个函数:

def delete_row(sheet_obj, str_excel):
    """删除含关键字的行"""
    for row_obj in sheet_obj.iter_rows(min_row=2):
        for i in row_obj:
            # print(type(i.row))
            if str_excel in str(i.value):
                sheet_obj.delete_rows(i.row)  # 删除含上面关键字的行
            else:
                continue

但在对下面这个表进行操作的时候:

img


我调用函数并传入下面的参数:

delete_row(wb.active,"季度")

执行函数后,表里面两行数据都被删掉了,我明明只指定含季度两个字,但出来的结果却不尽人意,请问各位这是为什么呢?

  • 写回答

1条回答 默认 最新

  • 安哥DoVepAn 2022-05-13 13:57
    关注

    我测试一了一下,你的程序没有问题哈,是不是问题在你的表里面哈?

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月17日
  • 创建了问题 5月12日

悬赏问题

  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量