Python Openpyxl: 拆分合并单元格并填充值
拆分所有合并单元格,并赋予合并之前的值。
def unmerge_and_fill_cells(worksheet):
'获取所有合并单元格的范围'
all_merged_cell_ranges = list(
worksheet.merged_cells.ranges
)
'遍历每个合并单元格的范围'
for merged_cell_range in all_merged_cell_ranges:
'获取合并单元格的起始单元格'
merged_cell = merged_cell_range.start_cell
'拆分合并单元格'
worksheet.unmerge_cells(range_string=merged_cell_range.coord)
'遍历合并单元格的每个单元格'
for row_index, col_index in merged_cell_range.cells:
'获取单元格'
cell = worksheet.cell(row=row_index, column=col_index)
'将合并之前的值赋给单元格'
cell.value = merged_cell.value
'读取原始xlsx文件,拆分并填充单元格,然后生成中间临时文件。'
def unmerge_cell(filename):
'加载xlsx文件'
wb = openpyxl.load_workbook(filename)
'遍历每个工作表'
for sheet_name in wb.sheetnames:
'获取工作表'
sheet = wb[sheet_name]
'拆分并填充单元格'
unmerge_and_fill_cells(sheet)
'生成中间临时文件名'
filename = filename.replace('.xls', '_temp.xls')
'保存工作簿到中间临时文件'
wb.save(filename)
'关闭工作簿'
wb.close()
if __name__ == '__main__':
'调用函数:读取原始xlsx文件,拆分并填充单元格,然后生成中间临时文件。'
unmerge_cell(filename)
原文地址: https://www.cveoy.top/t/topic/p4TH 著作权归作者所有。请勿转载和采集!