标题:python操作excel合并单元格问题,求解!
只看楼主
小石头936
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-12-13
结帖率:33.33%
已结贴  问题点数:20 回复次数:7 
python操作excel合并单元格问题,求解!
想将excel表单里的所有合并单元格,取消合并。
for merg in ws.merged_cells:
    ws.unmerge_cells(str(merg))

逻辑意图为:逐个取ws表单的合并单元格,用unmerge_cells()进行取消。
但结果只取消第一个合并单元格后,就跳出循环了。不知道什么缘故。
后来我改了个for循环,解决了,但上面的代码问题到底出在哪?没搞清,求高手指点。
下面是成功的方法:
    n = list(s1.merged_cells)
    for i in range(len(n)):
        s1.unmerge_cells(str(n[i]))
搜索更多相关主题的帖子: 取消 合并 excel for 单元格 
2019-12-18 23:38
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:20 
以下是引用小石头936在2019-12-18 23:38:03的发言:

想将excel表单里的所有合并单元格,取消合并。
for merg in ws.merged_cells:
    ws.unmerge_cells(str(merg))
逻辑意图为:逐个取ws表单的合并单元格,用unmerge_cells()进行取消。
但结果只取消第一个合并单元格后,就跳出循环了。不知道什么缘故。
后来我改了个for循环,解决了,但上面的代码问题到底出在哪?没搞清,求高手指点。
下面是成功的方法:
    n = list(s1.merged_cells)
    for i in range(len(n)):
        s1.unmerge_cells(str(n))

上面的用法是迭代器,下面是list 我猜测你ws.unmerge_cells(str(merg)) 影响了 ws.merged_cells的迭代.你这点代码看不了.具体你可以打印具体的内容查看下
收到的鲜花
2019-12-20 09:52
小石头936
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-12-13
得分:0 
回复 2楼 fall_bernana
就只有这点代码,就是试验取消合并单元格功能的,没有其他的了。
2019-12-20 17:00
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:0 
回复 3楼 小石头936
我的意思是整个程序的代码和测试文件.至少要我这里能运行起来才能帮着测试
2019-12-20 17:05
小石头936
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-12-13
得分:0 
回复 4楼 fall_bernana
取消合并单元格.rar (6.42 KB)
明白了,这是文件和测试表格,麻烦帮忙看看,里面标注掉的3行代码,是用list方法成功实现的方法,
2019-12-23 16:27
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:0 
回复 5楼 小石头936
附件有问题,打不开
2019-12-23 16:59
小石头936
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-12-13
得分:0 
回复 6楼 fall_bernana
Desktop.rar (6.42 KB)
麻烦再试试看
2019-12-23 18:03
小石头936
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-12-13
得分:0 
经过多次试验,发现ws.unmerge_cells(str(merg)) 对 ws.merged_cells的迭代是造成影响的结果是:间隔一个被执行unmerge_cells,敬请老师帮忙讲解原理。
2019-12-23 20:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498492-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.162343 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved