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

pandas读取Excel文件时如何不使用列名跳过初始多列?

解决方案

pandas 的 read_excel 没有原生提供和 skiprows 直接对应的 skipcols 参数,你可以用以下两种方案实现跳过开头4列的需求,无需提前指定列名或手动统计总列数:

方案1:读取后按列索引切片(绝大多数场景推荐)

读取完成后直接通过 iloc 按位置截取列即可,写法最简单:

# 跳过开头4行后,截取所有行、第5列及之后的所有内容(索引从0开始计数)
df1 = pd.read_excel(r"file_name.xlsx", skiprows=4).iloc[:, 4:]

方案2:读取阶段直接过滤列(适合大文件降低内存占用)

如果文件体积很大,不想把不需要的列加载进内存,可以用两种方式实现读取阶段过滤:

  • 方式A:设置header=None用整数作为列索引过滤
# 不需要额外依赖库,过滤后可按需自行重置表头
df1 = pd.read_excel(
    r"file_name.xlsx",
    skiprows=4,
    header=None,
    usecols=lambda x: x >=4
)
  • 方式B:自动获取总列数后指定读取范围
from openpyxl import load_workbook
import pandas as pd

# 代码自动读取表格总列数,无需手动统计
wb = load_workbook(r"file_name.xlsx", read_only=True)
total_cols = wb.active.max_column

df1 = pd.read_excel(
    r"file_name.xlsx",
    skiprows=4,
    usecols=range(4, total_cols)
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:06:05