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

如何将DataFrame输出中的多列数据保存到Excel文件

多列数据导出到Excel的解决方法

报错原因

你调用pd.DataFrame时仅传入了单个一维列表out作为数据源,最多只能对应1列,指定2个列名自然会触发列数不匹配的报错。

解决代码

两种常用实现方式:

方式1:构造字典传入数据源

直接把要写入的多列数据封装为字典传入DataFrame构造函数,key对应列名,value对应每列的数值列表:

import pandas as pd
file1='excel1.xlsx'
file2='excel2.xlsx'

df1=pd.read_excel(file1)
df2=pd.read_excel(file2)
l=df2['col1'].tolist()

for row in range(len(l)):
    for index,row1 in df1.iterrows():
        # 注意:原代码replace无赋值不生效,需赋值回原变量
        l[row] = l[row].replace(row1['emp'],row1['desc'])
out=[a.replace('','_') for a in l]
length=[len(o) for o in out]

# 构造多列DataFrame
final_df=pd.DataFrame({
    'desc': out,
    'Length': length
}, index=df2['col1'])

# 导出为Excel文件,需提前安装openpyxl:pip install openpyxl
final_df.to_excel('output.xlsx', index=True)
# 如果需要导出csv格式用下方代码即可
# final_df.to_csv('output.csv', index=True)

方式2:先创建单列DataFrame再追加列

也可以先按原有逻辑创建仅含desc列的DataFrame,再直接赋值新增Length列:

final_df = pd.DataFrame(out, index=df2['col1'], columns=['desc'])
# 追加Length列
final_df['Length'] = length
# 导出文件
final_df.to_excel('output.xlsx')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:09:01