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

使用Pandas判断Excel工作表中是否存在指定列名的方法

Pandas 校验Excel列是否存在的实现方法

你之前的写法报错是因为直接访问不存在的列会触发Pandas抛出KeyError,正确的校验方式是判断目标列名是否在DataFrame的columns属性中,参考实现如下:

单目标列实现

import pandas as pd

# 原有读取Excel逻辑
db = pd.read_excel(full_path_with_file_name, sheet_name=sheet_name)

target_col = "column_name"
if target_col in db.columns:
    list_values = db[target_col].values
else:
    # 生成和表格行数一致的默认值列表
    list_values = ["unknown"] * len(db)

注意事项

  • 不要使用if db.get(target_col) is not None这类写法,当目标列存在但整列全为空值时会出现误判,判断列是否存在必须用in df.columns的逻辑。
  • 生成默认值列表时要和当前DataFrame的行数保持一致,否则后续写入新Excel时会出现长度不匹配的报错。
  • 如果需要同时校验多个列,可以封装通用函数复用逻辑,示例如下:
def get_col_values(df: pd.DataFrame, col_name: str, default_val: str = "unknown") -> list:
    if col_name in df.columns:
        return df[col_name].values.tolist()
    return [default_val] * len(df)

# 调用示例
list_values1 = get_col_values(db, "column_name1")
list_values2 = get_col_values(db, "column_name2", default_val="not found")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:27:01