基于单个DataFrame循环创建多DataFrame并导出至同工作簿不同工作表
解决方案
情况1:INDICATOR_ID是DataFrame的一列(按指标ID分组)
如果数据按行存储,每行对应某国某指标的记录,可按INDICATOR_ID分组导出:
import pandas as pd # 替换为你的DataFrame变量名 with pd.ExcelWriter('指标数据汇总.xlsx') as writer: for indicator_id, group_df in df.groupby('INDICATOR_ID'): # 每个指标对应一个工作表,表名为指标ID group_df.to_excel(writer, sheet_name=str(indicator_id), index=False)
情况2:INDICATOR_ID是DataFrame的列名(每列对应一个指标)
如果数据按列存储,每列对应一个指标,可提取单列数据导出:
import pandas as pd # 替换为你的非指标列(比如国家、日期等) non_indicator_cols = ['COUNTRY', 'DATE'] with pd.ExcelWriter('指标数据汇总.xlsx') as writer: # 遍历所有指标列 for indicator_col in df.columns.difference(non_indicator_cols): indicator_df = df[non_indicator_cols + [indicator_col]] # 工作表名为列名 indicator_df.to_excel(writer, sheet_name=indicator_col, index=False)
注意事项
- 替换代码中的
df为你实际使用的DataFrame变量名 - 根据数据结构选择对应代码
- 若指标ID/列名包含Excel工作表名禁用字符(如
/\:*?"<>|),需提前替换处理
内容的提问来源于stack exchange,提问作者Stéphane
相关产品推荐
相关产品推荐

