登录
首页 >  文章 >  python教程

pandas读取指定sheet跳过前N行技巧

时间:2026-04-15 14:08:33 466浏览 收藏

本文详细介绍了如何使用 pandas 的 `read_excel` 函数精准读取 Excel 文件中指定工作表并灵活跳过前 N 行——无论是按名称(如 "Sheet1")或索引(如 0)选择 sheet,还是通过 `skiprows` 控制起始行、配合 `header` 或 `names` 自定义列名,都能轻松应对报表头混乱、含说明文字或无标准表头等真实业务场景,文末还附有实用小技巧和调试建议,助你高效处理各类 Excel 数据导入需求。

pandas read_excel 如何只读取特定 sheet 并跳过前 N 行

使用 pandas.read_excel 读取 Excel 文件时,可以通过参数精确控制读取哪个工作表、跳过多少行。

指定 sheet 名称或索引

sheet_name 参数选择目标工作表:

  • 传入字符串(如 "Sheet1")读取指定名称的工作表
  • 传入整数(如 0)按位置读取:0 表示第一个 sheet,1 表示第二个,以此类推
  • 传入 None 会返回所有 sheet 的字典(不适用于只读一个)

跳过前 N 行(包括标题行)

skiprows 参数跳过开头若干行:

  • skiprows=2:跳过前 2 行,第 3 行作为列名(即新表头)
  • 如果跳过后希望某一行作表头,可配合 header 使用,例如 skiprows=3, header=0 表示跳过前 3 行,把接下来那一行(原第 4 行)设为列名
  • 若数据无标准表头,可设 header=None,再用 names 手动指定列名

完整示例

读取名为 “Data” 的工作表,跳过前 4 行,将第 5 行作为列名:

import pandas as pd
df = pd.read_excel("report.xlsx", sheet_name="Data", skiprows=4)

若第 5 行也不是标准列名,而是空的或含说明文字,可进一步设 header=0(默认已生效),或用 names 自定义:

df = pd.read_excel("report.xlsx", sheet_name="Summary", skiprows=5, header=0, names=["ID", "Name", "Score"])

小提示

  • skiprows 接受整数或列表(如 [0, 1, 3] 跳过第 1、2、4 行),但通常整数更常用
  • 若跳过行数不确定,可先用 pd.ExcelFile 查看结构:xl = pd.ExcelFile("file.xlsx"); print(xl.sheet_names); xl.parse("Sheet1", nrows=5)
  • 注意:跳过的行仍计入行号,skiprowsnrowsusecols 可组合使用实现精细读取

到这里,我们也就讲完了《pandas读取指定sheet跳过前N行技巧》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>