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

Jupyter读取Excel时如何筛选指定ANGLE列、处理缺列并简化代码?

实现方案

核心思路是先获取Excel实际存在的列名,和目标列做匹配后再读取数据,既避免缺列报错,也比硬循环、异常捕获的方案更高效简洁。

步骤1:优化目标列生成逻辑

抛弃冗余的for循环拼接写法,用格式化补零一行生成所有符合命名规则的目标列:

import pandas as pd

# 自动生成01_ANGLE ~ 100_ANGLE的列名列表,自动处理个位数前导0
target_columns = [f"{idx:02d}_ANGLE" for idx in range(1, 101)]

步骤2:匹配实际存在的有效列

先仅读取Excel表头获取真实列名(不加载全量数据,性能开销可以忽略),再筛选出实际存在的目标列:

# 仅读取表头行,不加载数据内容,速度极快
actual_columns = pd.read_excel("你的文件路径.xlsx", nrows=0).columns.tolist()

# 取交集,严格保留01~100的列顺序,自动过滤不存在的列
valid_columns = [col for col in target_columns if col in actual_columns]

注意:不要用set(target_columns) & set(actual_columns)做交集,集合无序会打乱列的读取顺序。

步骤3:读取有效列数据

将筛选后的有效列传入usecols参数即可正常读取,不会因为缺列报错:

df = pd.read_excel("你的文件路径.xlsx", usecols=valid_columns)
可选扩展功能

如果需要做数据质量校验,可以加几行代码记录缺失的列,方便后续排查:

missing_columns = [col for col in target_columns if col not in actual_columns]
if missing_columns:
    print(f"当前文件缺失以下ANGLE列:{missing_columns}")

如果需要批量处理多份Excel,把上述逻辑封装成通用函数即可,传入文件路径直接返回处理好的DataFrame。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:09:21