DataSift¶
Extract, validate and filter tables from XLSX, XLSM and CSV using a JSON mask. Rust reads rows and writes exports; Python validates masks and exposes typed results. No database or external service is required.
Start with installation and the quickstart. Then choose a guide for Excel, CSV, complex layouts, validation or exporting.
How a scan works¶
A scan discovers or binds columns, classifies rows, applies defaults and explicit type conversions, validates values, evaluates the filter, then projects matches. Filters explains that order. Use matching iterators for values, or an event iterator for both matches and rejected original records.
Tables may start away from A1 and appear beside or below other tables. Automatic discovery needs structural evidence; text-only or ambiguous layouts need anchors or explicit sources.
Reference¶
- Python API: supported imports, signatures and result models.
- Filter models: mask fields and every operator.
- JSON Schema: generate schemas from the canonical models.
- CLI: arguments, output and exit behavior.
- Limits, errors and file safety: constraints and failure handling.
DataSift does not read XLS/XLSB or encrypted workbooks, calculate formulas or write Excel files. It reads cached formula results. Rows stream, but shared strings, metadata and batches still require memory. See streaming.
Developers can start with architecture, contributing and benchmarks.