nirs4all.data.loaders.excel_loader module

Excel file loader implementation.

This module provides the ExcelLoader class for loading Excel spreadsheet files, including .xlsx (modern) and .xls (legacy) formats.

class nirs4all.data.loaders.excel_loader.ExcelLoader[source]

Bases: FileLoader

Loader for Excel spreadsheet files.

Supports: - Modern Excel files (.xlsx) via openpyxl - Legacy Excel files (.xls) via xlrd

Parameters:
  • sheet_name – Sheet name or index to load (default: 0, first sheet). Can be a string (sheet name), integer (0-indexed), or None (all sheets).

  • header – Row number to use as header (default: 0). Use None for no header.

  • skip_rows – Number of rows to skip at the beginning.

  • skip_footer – Number of rows to skip at the end.

  • usecols – Columns to load (can be list of names, indices, or Excel-style range).

  • engine – Excel engine to use (‘auto’, ‘openpyxl’, or ‘xlrd’).

  • header_unit – Unit for headers (‘cm-1’, ‘nm’, ‘text’, etc.)

Example

>>> loader = ExcelLoader()
>>> result = loader.load(
...     Path("data.xlsx"),
...     sheet_name="Sheet1",
...     skip_rows=2,
... )
load(path: Path, sheet_name: str | int | None = 0, header: int | None = 0, skip_rows: int | None = None, skip_footer: int = 0, usecols: List[str] | List[int] | str | None = None, engine: str = 'auto', header_unit: str = 'text', data_type: str = 'x', **params: Any) LoaderResult[source]

Load data from an Excel file.

Parameters:
  • path – Path to the Excel file.

  • sheet_name – Sheet to load (name, index, or None for all).

  • header – Row number for header (0-indexed), or None.

  • skip_rows – Number of rows to skip at start.

  • skip_footer – Number of rows to skip at end.

  • usecols – Columns to load.

  • engine – Excel engine to use.

  • header_unit – Unit type for headers.

  • data_type – Type of data (‘x’, ‘y’, or ‘metadata’).

  • **params – Additional parameters passed to read_excel.

Returns:

LoaderResult with the loaded data.

name: ClassVar[str] = 'Excel Loader'
priority: ClassVar[int] = 45
supported_extensions: ClassVar[Tuple[str, ...]] = ('.xlsx', '.xls')
classmethod supports(path: Path) bool[source]

Check if this loader supports the given file.

nirs4all.data.loaders.excel_loader.load_excel(path, sheet_name: str | int | None = 0, header: int | None = 0, skip_rows: int | None = None, skip_footer: int = 0, usecols: List[str] | List[int] | str | None = None, engine: str = 'auto', header_unit: str = 'text', **params)[source]

Load an Excel file.

Convenience function for direct use.

Parameters:
  • path – Path to the Excel file.

  • sheet_name – Sheet to load.

  • header – Row number for header.

  • skip_rows – Rows to skip at start.

  • skip_footer – Rows to skip at end.

  • usecols – Columns to load.

  • engine – Excel engine to use.

  • header_unit – Unit type for headers.

  • **params – Additional parameters.

Returns:

Tuple of (DataFrame, report, na_mask, headers, header_unit).