• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python openpyxl筛选某些列的操作

    由于要复制excel 的某些单元格格式,需要对合并的单元格选出符合条件的

    如下例是小于15的保留

    然后在新表单中

    wbsheet_new.merge_cells(cell2)

    wbsheet_new为新表单,cell2为筛选后保留的单元格,表达为I24:J24,K24:L24这样的格式

    先正则筛选,筛选的结果为[(‘AO', ‘AP')]这种list包含元组的表达方式,再用result[0][0]提取出第一个元素,

    如果大于15列

    column_index_from_string(result[0][0])>=15 

    则去掉,其余保留

    from openpyxl.utils import get_column_letter, column_index_from_string
    import re
    s=['AK23:AL23',
    'AM23:AN23',
    'AO23:AP23',
    'AQ23:AR23',
    'B24:C24',
    'D24:F24',
    'G24:H24',
    'I24:J24',
    'K24:L24',
    'M24:N24',
    'Q24:R24',
    'S24:U24',
    'V24:W24',
    'X24:Y24',
    'Z24:AA24',
    'AB24:AC24',
    'AF24:AG24',
    'AH24:AJ24',
    'AK24:AL24',
    'AM24:AN24',
    'AO24:AP24',]
    for si in s:
     result=re._compile(r'(\w+?)\d+:(\w+?)\d+',flags=0).findall(si)
     print (result)
     if column_index_from_string(result[0][0])>=15:
     print('去掉%s'%result[0][0])
    

    补充:python openpyxl 获取合并的单元格列表,筛选解除单元格合并

    代码如下:

    #获取该表所有合并单元格信息并遍历
        for i in ws.merged_cell_ranges:
          #获取合并单元格的开始行、列,结束行、列
          r1, r2, c1, c2 = i.min_row, i.max_row, i.min_col, i.max_col
          #解除合并
          ws2.unmerge_cells(start_row = r1, end_row = r2, start_column = c1, end_column = c2)

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • Python openpyxl 无法保存文件的解决方案
    • python openpyxl 带格式复制表格的实现
    • python中openpyxl和xlsxwriter对Excel的操作方法
    • 详解Python openpyxl库的基本应用
    • python openpyxl模块的使用详解
    • 详解Python中openpyxl模块基本用法
    • python 使用openpyxl读取excel数据
    • 解决python 使用openpyxl读写大文件的坑
    上一篇:python无法识别vim中文代码的解决方案
    下一篇:python openpyxl 带格式复制表格的实现
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python openpyxl筛选某些列的操作 python,openpyxl,筛选,某些,