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

如何使用Pandas筛选Excel表格中需展示的指定行?

筛选Excel指定行的几种实现方法

1. 按行号筛选

读取后筛选

如果已经读取了全量数据,直接用iloc按行索引(从0开始计数)筛选:

data = pd.read_excel("TABLE.xlsx", usecols='D,E,F')
# 取Excel里的第2到第5行(pandas索引是0-based,所以用1:5)
filtered_data = data.iloc[1:5]
print(filtered_data)

读取时直接指定

提前明确要取的行范围,可在读取阶段就限制,节省内存:

# 跳过前3行,只读取接下来的10行
data = pd.read_excel("TABLE.xlsx", usecols='D,E,F', skiprows=3, nrows=10)

2. 按列值条件筛选

根据列的内容筛选,用布尔索引最灵活:

  • 单条件筛选:比如筛选E列数值大于100的行
data = pd.read_excel("TABLE.xlsx", usecols='D,E,F')
filtered_data = data[data['E'] > 100]
  • 多条件组合:比如E列>100且F列包含"完成"
# 注意用&连接条件,每个条件单独加括号
filtered_data = data[(data['E'] > 100) & (data['F'].str.contains('完成'))]

3. 按自定义标签筛选

如果D列是唯一标识(比如ID),可以把它设为索引,用loc按标签取行:

# 读取时将D列设为索引
data = pd.read_excel("TABLE.xlsx", usecols='D,E,F', index_col='D')
# 筛选D列为ID001、ID003的行
filtered_data = data.loc[['ID001', 'ID003']]

4. 读取阶段动态筛选

如果数据量很大,不想加载全量数据,给skiprows传一个函数来跳过不需要的行:

# 只保留偶数行号(从0开始计数)的行
def filter_rows(row_idx):
    return row_idx % 2 != 0

data = pd.read_excel("TABLE.xlsx", usecols='D,E,F', skiprows=filter_rows)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:14:56