You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas合并列内容并在Excel同一单元格内换行的方案问询

Pandas合并两列分两行展示实现方案

针对需求,可根据使用场景选择以下两种实现方式:

方案1:同一单元格内换行(适合仅展示需求,保留原有行结构)

Excel单元格内识别的换行符为\n,合并时插入换行符后导出Excel时开启自动换行即可实现效果:

  1. 合并列逻辑调整
# 两列内容之间插入换行符
df1["Column 3"] = df1["Column 1"] + "\n" + df1["Column 2"]
  1. 导出Excel配置
import pandas as pd

with pd.ExcelWriter("output.xlsx", engine="openpyxl") as writer:
    df1.to_excel(writer, index=False)
    worksheet = writer.sheets["Sheet1"]
    # 批量设置单元格自动换行,同时适配列宽
    for col in worksheet.columns:
        max_len = 0
        col_letter = col[0].column_letter
        for cell in col:
            # 开启自动换行
            cell.alignment = cell.alignment.copy(wrap_text=True)
            # 计算列最大宽度
            cell_len = len(str(cell.value))
            if cell_len > max_len:
                max_len = cell_len
        worksheet.column_dimensions[col_letter].width = max_len + 2

导出后打开Excel,Column 3的内容会自动在同一单元格内分两行展示。

方案2:拆分插入新行(适合后续需要单条数据单独处理的场景)

如果需要每行仅展示一条内容,可将合并内容转为列表后拆分为多行:

# 把两列内容合并为列表类型
df1["Column 3"] = df1.apply(lambda x: [x["Column 1"], x["Column 2"]], axis=1)
# 拆分列表为独立行
df_split = df1.explode("Column 3").reset_index(drop=True)
# 导出即可,不需要额外格式配置
df_split.to_excel("output_split.xlsx", index=False)

该方案下原来的1行数据会拆分为2行,其余列的内容会在拆分后的两行复用,不需要其他列可自行删除。

内容的提问来源于stack exchange,提问作者Rocky5

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:48:03