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

如何将DataFrame以Excel表格形式赋值到另一DataFrame指定列

问题原因

直接执行df1["size_chart"] = df2时,Pandas会默认按索引对齐规则做列级赋值,尝试把df2的各列拆分匹配到df1的行,不会将整个df2作为单个值填入单元格,因此达不到单元格承载完整二维表的效果。

实现方案

根据实际使用场景选对应方法即可:

  • 场景1:需要在单元格内存储结构化的df2对象,后续可直接取出当DataFrame调用
    赋值时把df2包装成和df1行数等长的列表,Pandas会把列表内的每个元素作为单个值填入对应行单元格:

    # 给df1所有行的size_chart列都存入完整df2,要存独立副本就把df2换成df2.copy()
    df1["size_chart"] = [df2 for _ in range(len(df1))]
    
    # 如果只需要给指定行(比如第一行)存表格,其余行留空,用下面的写法
    fill_values = [None] * len(df1)
    fill_values[0] = df2  # 0对应第一行,按需要的行号修改索引即可
    df1["size_chart"] = fill_values
    

    后续要取单元格内的表格,直接用df1.loc[行索引, "size_chart"]就能拿到完整的df2对象做处理。

  • 场景2:需要导出Excel后实现真正的单元格内嵌表格视觉效果
    仅在单元格存DataFrame对象无法被Excel识别渲染,需要配合openpyxl直接操作工作表单元格写入表格内容,实现你示例里普通列单行排布、尺寸表占多行内嵌的效果:

    from openpyxl import Workbook
    from openpyxl.utils.dataframe import dataframe_to_rows
    
    # 初始化工作簿
    wb = Workbook()
    ws = wb.active
    
    # 先写入df1除size_chart外的普通列内容(含表头)
    normal_cols = [c for c in df1.columns if c != "size_chart"]
    for row_idx, row_content in enumerate(dataframe_to_rows(df1[normal_cols], index=False, header=True), 1):
        for col_idx, cell_val in enumerate(row_content, 1):
            ws.cell(row=row_idx, column=col_idx, value=cell_val)
    
    # 定位size_chart列的位置,openpyxl行列索引从1开始计数
    size_col_pos = df1.columns.get_loc("size_chart") + 1
    # 从数据首行(第2行,第1行是表头)开始写入df2的完整内容
    table_start_row = 2
    for row_offset, table_row in enumerate(dataframe_to_rows(df2, index=False, header=False)):
        for col_offset, cell_val in enumerate(table_row):
            ws.cell(
                row=table_start_row + row_offset,
                column=size_col_pos + col_offset,
                value=cell_val
            )
    
    # 导出最终文件
    wb.save("带内嵌尺寸表的输出文件.xlsx")
    
  • 场景3:仅需要在单元格存储文本格式的表格,不需要保留结构化属性
    直接把df2转成固定排版的字符串存入即可,打印df1时就能直接看到完整表格内容:

    # 转成纯文本表格存入
    df1["size_chart"] = [df2.to_string(index=False) for _ in range(len(df1))]
    

内容的提问来源于stack exchange,提问作者syed towfiqur rahim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:15:46