# excel_utils.py import pandas as pd from typing import Dict, List, Tuple def get_sheets_and_headers( file_path: str, header: int = 0, skiprows: int = 0, **kwargs ) -> Dict[str, List[str]]: """ 读取 Excel 文件,返回每个 sheet 的名称及其表头(列名)。 参数: file_path (str): Excel 文件路径(支持 .xlsx / .xls) header (int): 表头所在行索引(默认 0,即第一行) skiprows (int): 跳过的行数(在表头之前) **kwargs: 透传给 pd.read_excel 的其他参数(如 engine 等) 返回: Dict[str, List[str]]: {sheet_name: [col1, col2, ...]} """ # 使用 nrows=0 只读取表头,不加载数据,性能高 all_sheets = pd.read_excel( file_path, sheet_name=None, # 读取所有 sheet header=header, skiprows=skiprows, nrows=0, # ⚡ 关键:只读表头 **kwargs ) return {name: df.columns.tolist() for name, df in all_sheets.items()}