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

如何使用Python将多个DataFrame写入Excel的不同工作表

问题根因
  1. 你把pd.ExcelWriter初始化和save()操作放在了循环内部,每次循环都会创建新的空白Excel文件覆盖旧文件,之前写入的工作表自然会丢失
  2. 嵌套循环逻辑错误、字典未提前初始化、concat拼接方向错误这几个问题也会导致代码运行报错
修正后可直接运行的代码
import pandas as pd

# 语言列表
langs_list = ['ar','zh','cs','id','ja','km','ms','pt','ru','es','th','fil']
# 提前初始化存储数据的字典,避免KeyError
dct = {f'language_{lang}': [] for lang in langs_list}
dct.update({f'translation_{lang}': [] for lang in langs_list})

# 仅在循环外初始化一次ExcelWriter,用with上下文自动处理保存关闭
with pd.ExcelWriter('searches_languages.xlsx', engine='xlsxwriter') as writer:
    for lang in langs_list:
        # 这里替换为你自己的业务逻辑,给对应语言的列表填充数据
        # dct[f'language_{lang}'].append(你要存入的语言数据)
        # dct[f'translation_{lang}'].append(你要存入的翻译数据)
        
        # 生成当前语言对应的DataFrame
        df = pd.DataFrame({
            'Language': dct[f'language_{lang}'],
            'Translation': dct[f'translation_{lang}']
        })
        # 写入独立工作表,不会覆盖其他已有工作表
        df.to_excel(writer, sheet_name=lang, index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:54:03