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

如何将合并后的DataFrame按国家拆分并写入Excel多工作表

实现方法

首先修正你现有代码里的小问题:Import Pandas as pd 要改成小写的 import pandas as pd,Python对大小写敏感。

接下来要把指定4个国家的数据分别存入Excel不同工作表,用pandas.ExcelWriter就能实现,具体代码如下:

import pandas as pd
import numpy as np

# 读取文件并合并数据
file = pd.ExcelFile(r"p:\test\sample.xlsx")
df1 = pd.read_excel(file, 'sample1')
df2 = pd.read_excel(file, 'sample2')
df3 = pd.merge(df1, df2, left_on='country', right_on='Country', how='left').drop('amount', axis=1)

# 定义需要单独导出的4个国家列表,替换成你实际需要的国家名称
target_countries = ['国家A', '国家B', '国家C', '国家D']

# 创建ExcelWriter对象,指定输出文件路径
with pd.ExcelWriter(r"p:\test\output_countries.xlsx") as writer:
    # 循环每个目标国家
    for country in target_countries:
        # 筛选当前国家的数据
        country_df = df3[df3['country'] == country]
        # 将筛选后的数据写入以国家名称命名的工作表
        country_df.to_excel(writer, sheet_name=country, index=False)

关键说明

  • pd.ExcelWriter是Pandas批量写入多工作表的核心工具,用with语句可自动处理文件的打开和关闭,避免资源泄漏
  • sheet_name=country直接用国家名称作为工作表名,清晰直观
  • index=False导出时不写入DataFrame的索引列,避免生成多余列

如果不确定df3里的国家列表,可先执行print(pd.unique(df3['country']))查看,再把需要的4个国家填入target_countries列表即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:45:28