Skip to content

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

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.