再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能迭代,

函数参数也变了,居然可以直接上参数;;openpyxl=Version: 2.5.9;

列 : worksheet.delete_cols(2, 1) 表示第二列开始,删除一列 ,行 worksheet.delete_rows(2, 1)

worksheet.unmerge_cells(start_row=1, start_column=7, end_row=2, end_column=7)

表示第一行开始,第二行结束, 低7列开始第七列结束, 就是把G1:G2合并的单元格给拆分了,下面的是合并单元格就不多说了

worksheet.merge_cells(start_row=1, start_column=2, end_row=2, end_column=2)

使用 openpyxl 库拆分已经合并的单元格;主要是使用了:

worksheet.merged_cells获取已经合并单元格的信息;再使用worksheet.unmerge_cells()拆分单元格;

importopenpyxl

workbook= openpyxl.load_workbook(path) #加载已经存在的excel#workbook = openpyxl.Workbook(path)

name_list =workbook.sheetnames#worksheet = workbook.get_sheet_by_name(name_list[0]) #最新版本已经不能使用这种方法

worksheet =workbook[name_list[0]]

m_list= worksheet.merged_cells #合并单元格的位置信息,可迭代对象(单个是一个'openpyxl.worksheet.cell_range.CellRange'对象),print后就是excel坐标信息

cr =[]for m_area inm_list:#合并单元格的起始行坐标、终止行坐标。。。。,

r1, r2, c1, c2 =m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_col#纵向合并单元格的位置信息提取出

if r2 - r1 >0:

cr.append((r1, r2, c1, c2))print('符合条件%s' %str(m_area))#这里注意需要把合并单元格的信息提取出再拆分

for r incr:

worksheet.unmerge_cells(start_row=r[0], end_row=r[1],

start_column=r[2], end_column=r[3])

workbook.save(path)

再使用 worksheet.unmerge_cells()输入参数的时候,若和 worksheet.merged_cells的结果放到同一个循环;

经常出现有些单元格拆分没有完成(实际上可以多次运行就可以完成了),我估计是再拆分单元格的时候有数据动态的改变了,

导致(再执行m_area.min_row时)m_list中的'openpyxl.worksheet.cell_range.CellRange'对象动态获取值时发生了改变;

只好把位置信息提取出,再调用;后面我测试过m_list对象deepcopy一份就可以了;

from copy importdeepcopy

l=deepcopy(m_list)for m_area inl:#合并单元格的起始行坐标、终止行坐标。。。。,

r1, r2, c1, c2 =m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_colif r2 - r1 >0:

worksheet.unmerge_cells(start_row=r1, end_row=r2,

start_column=c1, end_column=c2)

python 拆分excel单元格_python使用openpyxl excel 合并拆分单元格相关推荐

  1. python openpyxl合并单元格_python使用openpyxl excel 合并拆分单元格

    再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能 ...

  2. python统计excel文本单元格_python xlrd从excel文本单元格接收浮点数

    背景:对于每个单元格,xlrd报告存储在XLS文件中的内在值(如果有).最初仅根据文件中的记录类型分配值类型(例如,NUMBER和RK记录包含浮点数).它按照here所述对格式进行分类,并使用该信息覆 ...

  3. python中xlrd写操作_Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  4. python做excel表格代码_python实现跨excel的工作表sheet之间的复制方法

    python,将test1的Sheet1通过"跨文件"复制到test2的Sheet2里面. 包括谷歌没有能搜出这种问题答案. 我们贴出代码. 我们加载openpyxl这个包来解决: ...

  5. python替换excel指定内容_Python脚本操作Excel实现批量替换功能

    大家好,给大家分享下如何使用Python脚本操作Excel实现批量替换. 使用的工具 Openpyxl,一个处理excel的python库,处理excel,其实针对的就是WorkBook,Sheet, ...

  6. python win32选取文件夹_python小工具 | Excel的xls和xlsx格式文件转换

    众所周知Excel文件格式转换可以通过"另存为"的方式转换格式,可以说是简单方便,但是对于大量文件转换或者经常重复进行转换操作时,这种方法就很不方便. 显然利用程序对xls和xls ...

  7. java excel 分页合并,excel分页-Excel办公技巧——完整显示跨页合并的单元格

    在日常工作中,我们经常会遇到大量合并的单元格,而部分合并的单元格会跨页显示,也即:合并的单元格区域显示在两页中.如下图示: 而我们最终想要的打印效果,如下: 那么,上述效果是如何实现的呢?方法如下: ...

  8. python 拆分excel单元格_Python怎么在Excel中把一个单元格里的内容拆分提取?:excel表格已拆分的数据提取...

    Python怎么在Excel中把一个单元格里的内容拆分提取? 有规律的话写代码可以处理,没有就没有办法 如何将EXCEL表中的数据分离出来? 如图,B1输入:=LEFT(A1,FIND("排 ...

  9. python 拆分excel工作表_Python几行代码轻松拆分表格

    Python几行代码轻松拆分表格 作者:梅朵 微信公众号:实用办公编程技能 微信号:Excel-Python 什么?,Python几行代码竟然可以按指定轻松拆分表格? 将test.xls中的数据按地区 ...

  10. python 读取合并单元格_python使用xlrd读取合并单元格

    合并单元格 操作方法: 1.使用xlrd自带属性:merged_cells # 获取表格中所有合并单元格位置,以列表形式返回 (起始行,结束行,起始列,结束列) merged = sheet.merg ...

最新文章

  1. Android应用安全开发之浅谈加密算法的坑
  2. Linux 技术篇-文件大小查看方法实例演示,查看指定文件大小,查看列表下所有文件夹和文件的大小
  3. php mysql 中文_PHP连接MySQL查询结果中文显示乱码解决方法
  4. 分治-Strassen矩阵乘法
  5. python返回上一条指令必须包括_python基础(10)--模块
  6. 传统CPU架构不再是高性能计算唯一选择
  7. 联想小新air13pro重装系统_小新air13pro改win7系统 联想小新air13pro安装win7系统教程...
  8. 10月21日Ajax培训日记
  9. 编译原理(龙书):第三章部分题目参考答案
  10. 安卓微信自动抢红包插件优化和实现
  11. 25个很酷的jQuery倒计时脚本–添加动态计数器!
  12. NPOI操作Excel类代码(打开 插入 设置行列宽 合并单元格 增删改工作表 保存等等) .NET4.5
  13. 《图解网络硬件》网络硬件通用基础知识
  14. FusionSphere虚拟化套件
  15. vmware虚拟机网络配置详解
  16. Ubuntu安装搜狗fcitx无法正常安装的问题
  17. 机器学习中使用的独热编码
  18. python导入siri_python实现一个简洁siri功能
  19. 89c52流水灯c语言程序,【学习之路】STC89C52RC流水灯程序
  20. sipXecs技术交流QQ群

热门文章

  1. DayDayUp:20190908易建联27分中国男篮负无缘直通奥运—回顾2008年奥运中国男篮— 易建联加油!中国男篮加油!
  2. VSLAM之边缘化 Marginalization 和 FEJ (First Estimated Jocobian)
  3. 如何看待花呗接入央行个人征信?
  4. 【原创TVT技术解析】“双击Q盘”“Q盘红色图标消失”问题
  5. laravel 自定义函数
  6. 用分治法解决青蛙跳问题(斐波那契数列)
  7. 已知某网络有一个地址是167.199.170.82/27,问这个网络的网络掩码。
  8. cdr怎么把矩形去掉一个边_cdr怎么消除图形的边框?
  9. Google设置新标签页默认地址
  10. 高德地图定位,搜索,导航功能