Skip to content

Abc

pipelines.extraction.xlsx.abc

Summary

Abstract contracts for the xlsx (direct table) extraction graph.


The xlsx family is a "direct table" pipeline — no OCR, no buckets, no ambiguity. It shares the tabular core (shared/tabular.py) with csv: only the table reader differs (xlsx worksheet rows vs csv rows). Bank-specific readers live under banks/.

Classes

XlsxExtractionPipeline

Bases: TabularExtractionPipeline

xlsx-family root — pins only the reader; chain shared with csv.

Slot annotations

source: ExtractionSource ingest, table_reader, txn_dicts, raw_expense

Attributes:

Name Type Description
source ExtractionSource

The extraction source descriptor.

table_reader XlsxTableReaderPort

Xlsx table reader stage.

Functions
run
run(source) -> List[Any]

Run the direct-table extraction chain.

Parameters:

Name Type Description Default
source

Raw extraction source.

required

Returns:

Type Description
List[Any]

List[Any]: Raw expense records.

XlsxTableReaderPort

Bases: TableReaderPort

content → list of typed records read from an xlsx statement sheet.

Functions
read
read(content) -> List[dict]

Read typed records from an xlsx statement sheet.

Parameters:

Name Type Description Default
content

Materialized content (bytes, Content, dict, or str).

required

Returns:

Type Description
List[dict]

List[dict]: Typed table records.