当前位置:迷你笔记 » 技术 » Python计算每个Handle的Option1 Value的数量

Python计算每个Handle的Option1 Value的数量

确保Python已安装依赖项:pandasopenpyxl

pip install pandas openpyxl

把以下代码保存为calc_option_counts.py文件

import pandas as pd

# 输入文件路径和输出文件路径
input_file = r"C:\Users\XXX\Downloads\data.xlsx"
output_file = r"C:\Users\XXX\Downloads\updated_data.xlsx"

# 指定工作表名称(可根据需要修改)
sheet_name = "Sheet1"

# 读取 Excel 文件的指定工作表
try:
    df = pd.read_excel(input_file, sheet_name=sheet_name)
except ValueError as e:
    print(f"错误:工作表 '{sheet_name}' 不存在。请检查 Excel 文件中的工作表名称。")
    exit(1)
except FileNotFoundError:
    print(f"错误:文件 {input_file} 未找到。")
    exit(1)

# 确保 Counts 列存在
if 'Counts' not in df.columns:
    df['Counts'] = ''

# 计算每个 Handle 的非空 Option1 Value 行数
handle_counts = df[df['Option1 Value'].notna()].groupby('Handle').size().to_dict()

# 确保每个 Handle 都有 Counts(即使 Option1 Value 全为空,Counts 为 0)
for handle in df['Handle'].unique():
    if handle not in handle_counts:
        handle_counts[handle] = 0

# 跟踪已处理的 Handle
processed_handles = set()

# 遍历 DataFrame,设置 Counts
for index, row in df.iterrows():
    handle = row['Handle']
    if handle not in processed_handles:
        # 第一次出现,设置 Counts
        df.at[index, 'Counts'] = handle_counts[handle]
        processed_handles.add(handle)

# 保存更新后的 Excel
df.to_excel(output_file, index=False)
print(f"处理完成,更新后的文件已保存至: {output_file}")
未经允许不得转载:迷你笔记 » Python计算每个Handle的Option1 Value的数量

相关文章

评论 (0)

4 + 9 =