name: excel-basic-statistics-and-routing description: "对多Sheet Excel文件进行基础统计与,支持按条件筛选计算均值,以及从指定行区间提取数据去重求和,并生成结果文件与下载链接。"
Skill Steps
This sub-skill covers one capability of the Excel workflow. For reading/counting/Parquet optimization, see the parent workflow SKILL.md.
Step1 筛选指定分组数据,将目标列转换为数值类型并计算平均值。
group_col = '班级' # 占位示例
target_group_value = '358' # 占位示例
target_cols = ['总分', '理数'] # 占位示例
if group_col not in df_analysis.columns:
raise ValueError(f"数据中缺少'{group_col}'列。")
df_analysis[group_col] = df_analysis[group_col].astype(str)
filtered_df = df_analysis[df_analysis[group_col] == target_group_value]
avg_scores = {}
for col in target_cols:
if col not in filtered_df.columns:
raise ValueError(f"数据中缺少'{col}'列。")
try:
filtered_df[col] = pd.to_numeric(filtered_df[col], errors='raise')
avg_scores[f'平均{col}'] = filtered_df[col].mean()
except Exception as e:
raise ValueError(f"列'{col}'无法转换为数值类型: {str(e)}")
output("筛选结果统计: " + str(avg_scores))