我正在使用openpyxl并通过goolging关于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)
答案 0 :(得分:2)
$window.scroll(function() {
$('#global-wrapper-cp-142f9c37e921e052ae02cddde9be836b').toggleClass('fixed', $(window).scrollTop() > num);
});
是可变的,因此您需要注意不要在任何for循环中直接使用它,因为隐式计数器不会考虑该属性已被重新计算。这是Python中常见的问题所示:
ws.merged_cell_ranges
以下是如何避免这种情况:
l = list(range(10))
for i in l:
print(i)
l.pop(0) # anything that affects the structure of the list
PS。只是从互联网搜索中复制内容并不是真的可取。有几个站点有过时或不必要的复杂代码。最好参考文档或在邮件列表上询问。