我正在使用openpyxl,通过搜索xlsx工作簿中未融合的单元格找到了一些代码。在
我让代码工作,但发现它并没有在一次传递中删除所有合并的单元格。我将它设置为使用while循环运行,并解决了这个问题,但我想知道我做错了什么导致了一开始的跳过。任何见解都会有帮助。在
代码:
import openpyxl
wb = './filename.xlsx'
ws = wb[sheetname]
def remove_merged(sheet_object):
merged = ws.merged_cell_ranges
while len(merged)>0:
for mergedRNG in merged:
ws.unmerge_cells(range_string = mergedRNG)
merged = ws.merged_cell_ranges
return len(merged)
remove_merged(ws)
ws.merged_cell_ranges
是可变的,因此您需要注意不要在任何for循环中直接使用它,因为隐式计数器不会考虑属性已被重新计算。这是Python中常见的一个问题,示例如下:以下是如何避免这种情况:
^{pr2}$只是从网络搜索中复制内容并不明智。有几个网站的代码过时或不必要的复杂。最好参考文档或在邮件列表中询问。在
相关问题 更多 >
编程相关推荐