2
私はopenpyxlを使用していて、xlsxワークブックのunmergingセルについては何かのコードを見つけました。ループされていないセルのセルをスキップする
私は動作するコードを得ましたが、1回のパスですべてのマージされたセルを削除していないことがわかりました。私はwhileループを使って実行するように設定し、問題を解決しましたが、まずはスキップするのが間違っているのだろうと思っていました。どんな洞察も役に立つでしょう。
コード:あなたは暗黙のカウンターは、プロパティが再計算されていることを考慮に入れていますので、それを直接forループいずれにも使用されていないことに注意する必要があるので、
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)
あなたの質問はあまり明確ではありません。 –
while条件なしでforループを実行すると、残っているセルが結合されます。 forループがマージされたすべてのセルを削除しないのはなぜですか? – DataNoob