响应式网站的建设,教学网站开发应用方案,app注册推广,亚马逊雨林是怎么形成的from pathlib import Path import openpyxl
拆分所有的合并单元格#xff0c;并赋予合并之前的值。
由于openpyxl并没有提供拆分并填充的方法#xff0c;所以使用该方法进行完成
def unmerge_and_fill_cells(worksheet): all_merged_cell_ranges list( worksheet.merged_…from pathlib import Path import openpyxl
拆分所有的合并单元格并赋予合并之前的值。
由于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_cellworksheet.unmerge_cells(range_stringmerged_cell_range.coord)for row_index, col_index in merged_cell_range.cells:cell worksheet.cell(rowrow_index, columncol_index)cell.value merged_cell.value读取原始xlsx文件拆分并填充单元格然后生成中间临时文件。
def unmerge_cell(filename): 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()
# openpyxl保存之后再用pandas读取会存在公式无法读取到的情况使用下面方式就可以了
# 如果你的excel不涉及公式可以删除下面内容
# 原理为使用windows打开excel然后另存为一下
# from win32com.client import Dispatch
# xlApp Dispatch(Excel.Application)
# xlApp.Visible False
# xlBook xlApp.Workbooks.Open(str(Path(.).absolute() / filename)) # 这里必须填绝对路径
# xlBook.Save()
# xlBook.Close()return filenameif name ‘main’: unmerge_cell(rbench.xlsx)