图片数据是举例子。在实际使用中,从需求网页上下载的生产资料是带有合并单元格的,但在处理的时候需要拆分开,不然不好操作。
使用openpyxl 可以实现操作
如果没有安装openpyxl库,首先安装openpyxl
在命令行执行 pip install openpyxl
点击查看代码
import openpyxl
path = r"test.xlsx" # 源文件路径
path_new = r"test2.xlsx" # 处理后新文件的保存路径
#sheet_name = "REPORT" # 需要处理的页面名称
"""读取Excel文件中要进行处理的页面"""
book = openpyxl.load_workbook(path) # <class 'openpyxl.workbook.workbook.Workbook'>
sheet = book.worksheets[0] # <class 'openpyxl.worksheet.worksheet.Worksheet'>
"""获取页面内所有已合并的单元格"""
list_ranges = sheet.merged_cells.ranges.copy() # <class 'list'>
"""遍历每个含有合并单元格的区域"""
for range in list_ranges: # range:<class 'openpyxl.worksheet.merge.MergedCellRange'>
"""该区域内的起始单元格"""
cell_start = range.start_cell # <class 'openpyxl.cell.cell.Cell'>
"""将该区域内的单元格进行拆分"""
sheet.unmerge_cells(range_string = range.coord)
"""遍历该区域内的所有(拆分后得到的)单元格"""
for row_index, col_index in range.cells:
cell = sheet.cell(row = row_index, column = col_index)
cell.value = cell_start.value
book.save(path_new)
这是处理过后的样子(虽然看起来不好看,但效果实现了)