Skip to content
Get started

Tables

Convert uploaded spreadsheets into structured data. Creates relational tables from messy spreadsheet data.

List tables in structured sheet
structured_sheets.tables.list(strstructured_sheet_id, TableListParams**kwargs) -> SyncCursorIDPage[TableResponse]
GET/v1/structured-sheets/{structured_sheet_id}/tables
Retrieve a table
structured_sheets.tables.retrieve(strtable_id, TableRetrieveParams**kwargs) -> TableResponse
GET/v1/structured-sheets/{structured_sheet_id}/tables/{table_id}
Download table data
structured_sheets.tables.download(strtable_id, TableDownloadParams**kwargs) -> BinaryResponseContent
GET/v1/structured-sheets/{structured_sheet_id}/tables/{table_id}/download
ModelsExpand Collapse
class TableResponse:

Response representing a table extracted from a structured sheet.

This is returned from GET (retrieve) and list table endpoints. Table names use a composite format: {normalized_sheet_name}__{table_name}.

id: str

The unique identifier for this table.

created_at: datetime

The timestamp when this table was created.

formatdate-time
name: str

Composite table name: {normalized_sheet_name}__{table_name}. Uses lowercase snake_case. Aggregation tables end with '__aggregations'. Two special metadata tables exist per structured sheet: '__deeptable_workbook_metadata' (workbook provenance info) and '__deeptable_table_overview' (summary of all tables). Example: 'staffing__head_count' or 'staffing__head_count__aggregations'.

maxLength255
object: Literal["table"]

The object type, which is always 'table'.

sheet_name: str

The original Excel sheet name this table came from.

maxLength100
structured_sheet_id: str

The ID of the structured sheet this table belongs to.

type: Literal["relational", "aggregation", "tableless", "metadata"]

The type of table (relational, aggregation, tableless, or metadata).

One of the following:
"relational"
"aggregation"
"tableless"
"metadata"