Reads rows through SeaTable's list_rows API (rather than SQL),
optionally restricted to a view and ordered by a column. Returns an R
data.frame, or the raw pandas DataFrame when python = TRUE.
Usage
seatable_list_rows(
table,
base = NULL,
con = default_connection(),
view_name = NULL,
order_by = NULL,
desc = FALSE,
start = 0L,
limit = Inf,
python = FALSE,
chunksize = NULL,
collapse_lists = TRUE
)Arguments
- table
Name of the table.
- base
Optional base name or
Baseobject; discovered fromtablewhenNULL.- con
- view_name
Optional view limiting the rows/columns returned.
- order_by
Optional column name to order by.
- desc
Whether to sort descending (default ascending).
- start
Row offset to start from (0-based).
- limit
Maximum rows to return; the default
Infreturns all rows.- python
Whether to return the pandas
DataFramerather than an Rdata.frame.- chunksize
Advanced: rows to request per call. The default
NULLchooses a size from the column count (SeaTable allows roughly one million cells per request).- collapse_lists
Whether to collapse multiple-select (and other list) columns into simple character vectors. The default
TRUEcomma-joins multi-valued cells;FALSEkeeps them as list-columns. A string is used as the separator instead of",".
Details
The list_rows endpoint caps the number of rows per request, and
that cap is server-configurable with no API to discover it, so a page
coming back shorter than requested does not signal the end of the
table – only an empty page does. Rows are therefore fetched in chunks
until an empty page (or limit) is reached, then concatenated once and
coerced together, so multiple-select and other list columns flatten
uniformly across chunks.