Ask me what skills you need
What are you building?
Tell me what you're working on and I'll find the best agent skills for you.
当Excel文件总行数超过1万行时,通过转换为Parquet格式提升读取性能,提取目标指标并计算最大值,最后将结果输出为Excel并对特定行进行高亮标注。
Step1 读取文件并统计所有 sheet 的行数,汇总后打印总行数,用于判断数据规模是否需要启用大文件处理。
import pandas as pd
file_path = "input_data.xlsx"
# 读取所有sheet并统计总行数
xls = pd.ExcelFile(file_path)
sheet_names = xls.sheet_names
print(f"Sheet列表: {sheet_names}")
total_rows = 0
for sheet in sheet_names:
# 仅读取一列以加快行数统计速度
df_temp = pd.read_excel(file_path, sheet_name=sheet, usecols=[0], header=None)
rows = len(df_temp)
total_rows += rows
print(f"Sheet '{sheet}': {rows} 行")
print(f"\n总行数 = {total_rows}")
Step2 当总行数 ≥ 1万时,读取已转换为 Parquet 格式的数据文件,通过行列匹配提取目标指标数据,并找出最大值及其对应分类。
import pandas as pd
# 假设已通过大文件处理技能将Excel转换为Parquet
parquet_path = "converted_data.parquet"
df = pd.read_parquet(parquet_path)
# 假设第2行(索引1)是分类表头(如:控股类型、区域等)
header_row = df.iloc[1].tolist()
print("分类表头:", header_row)
# 找到目标指标所在的行(占位示例:'目标指标名称')
target_metric = '目标指标名称'
target_rows = df[df[0] == target_metric]
if not target_rows.empty:
# 提取数值
values = target_rows.iloc[0, 1:].tolist()
# 清洗数据并找出最大值及其对应的分类
numeric_values = []
for val in values:
try:
numeric_values.append(float(val))
except:
numeric_values.append(0)
npx skills add OpenSenseNova/SenseNova-Skills --skill category-coloringHow clear and easy to understand the SKILL.md instructions are, rated from 1 to 5.
Mostly clear, but there are still a few confusing or poorly structured parts.
How directly an agent can act on the SKILL.md instructions, rated from 1 to 5.
Partially actionable with several concrete steps, but still missing important details.