云计算百科
云计算领域专业知识百科平台

python如何合并excel单元格

在Python中合并Excel单元格,常用openpyxl库实现。以下是详细步骤和示例代码:

方法一:使用 openpyxl 库

步骤说明:
  • 安装库:

    pip install openpyxl

  • 导入库并加载文件:

    from openpyxl import load_workbook

    # 加载Excel文件
    wb = load_workbook('示例.xlsx')
    sheet = wb['Sheet1'] # 选择工作表

  • 合并单元格:

    • 按范围合并(如A1到B2):sheet.merge_cells('A1:B2')
    • 按行列号合并(如第1行第1列到第2行第2列):sheet.merge_cells(start_row=1, start_column=1, end_row=2, end_column=2)
  • 设置合并后样式(可选):

    from openpyxl.styles import Alignment

    # 设置内容水平+垂直居中
    sheet['A1'].alignment = Alignment(horizontal="center", vertical="center")

  • 保存文件:

    wb.save('合并结果.xlsx')

  • 完整代码示例:

    from openpyxl import load_workbook
    from openpyxl.styles import Alignment

    # 加载工作簿和工作表
    wb = load_workbook('示例.xlsx')
    sheet = wb.active # 或通过名称选择:wb['Sheet1']

    # 合并A1到D1单元格
    sheet.merge_cells('A1:D1')
    # 设置合并后的单元格内容居中
    sheet['A1'].alignment = Alignment(horizontal="center", vertical="center")
    sheet['A1'] = "合并后的标题" # 写入内容

    # 保存修改
    wb.save('合并结果.xlsx')

    方法二:使用 Spire.XLS 库

    步骤说明:
  • 安装库:

    pip install spire.xls

  • 合并单元格:

    from spire.xls import Workbook, ExcelVersion

    # 创建Workbook对象并加载文件
    wb = Workbook()
    wb.load_from_file('示例.xlsx')
    sheet = wb.worksheets[0]

    # 合并B2到D5单元格
    sheet.range['B2:D5'].merge()

    # 保存文件
    wb.save_to_file('Spire合并结果.xlsx', ExcelVersion.Version2013)

  • 方法三:使用 pandas + openpyxl(处理合并数据)

    若需读取已合并的单元格数据,可用pandas结合openpyxl引擎:

    import pandas as pd

    # 读取Excel文件(自动处理合并单元格)
    df = pd.read_excel('示例.xlsx', engine='openpyxl')
    print(df.head()) # 查看合并后的数据

    注意事项:

  • 合并后数据保留:合并单元格时,只有左上角单元格的数据会被保留,其他单元格内容会被清空。
  • 取消合并:使用sheet.unmerge_cells('A1:B2')可撤销合并。
  • 批量合并:可通过循环遍历行列实现条件合并(如按分类合并标题行)。
  • 根据需求选择合适的方法,openpyxl适合直接操作单元格,Spire.XLS提供更简洁的API,而pandas更适合数据分析场景。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » python如何合并excel单元格
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!