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

Pandas逐行检查DataFrame值是否存在于对应路径Excel并更新结果

实现方案

依赖安装

首先确保你已经安装了所需依赖:

pip install pandas openpyxl

核心实现步骤

  • 先封装一个检查指定值是否存在于Excel文件的工具函数
  • 逐行对DF1应用函数,更新Result列

完整代码示例

import pandas as pd

def check_value_in_excel(check_value, excel_path):
    try:
        # 读取Excel所有sheet内容,仅需检查指定sheet时可添加sheet_name参数
        excel_content = pd.read_excel(excel_path, sheet_name=None)
        for sheet_df in excel_content.values():
            if check_value in sheet_df.values:
                return True
        return False
    except:
        # 文件不存在、格式损坏等异常场景返回False,可按需调整为其他标识
        return False

# 逐行处理更新Result列
DF1['Result'] = DF1.apply(lambda row: check_value_in_excel(row['Value'], row['Path']), axis=1)

优化&注意事项

  • 性能优化:如果DF1中存在大量重复的Path值,建议增加路径读取缓存,避免重复读取同一个Excel文件,大幅降低IO耗时
  • 类型匹配:注意Value列的数据类型要和Excel中对应值的类型保持一致,避免出现整数和浮点数格式不匹配导致的判断错误
  • Sheet指定:如果明确只需要检查Excel中某个固定sheet,直接给pd.read_excel传入sheet_name="你的sheet名"即可,不需要遍历所有sheet,能提升运行速度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:54:05