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

9次阅读

pandas.read_excel可通过sheet_name指定工作表(字符串名、整数索引或None返回全部),用skiprows跳过前N行,配合header或names自定义列名,支持整数或列表跳过特定行。

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 可组合使用实现精细读取

text=ZqhQzanResources