主页 > 知识库 > python openpyxl筛选某些列的操作

python openpyxl筛选某些列的操作

热门标签:客户服务 百度AI接口 硅谷的囚徒呼叫中心 企业做大做强 语音系统 Win7旗舰版 呼叫中心市场需求 电话运营中心

由于要复制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 openpyxl筛选某些列的操作》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266