Spreadsheet For Each Row
Reads rows or columns from delimited spreadsheet data. Supported explicit file suffixes are `.csv`, `.tsv`, and `.tab`. If the provided path has no suffix, the runtime reads from `<path>.csv`. If the provided path has an unsupported explicit suffix such as `.xlsx`, the block fails clearly instead of guessing a format. Prefer this block over manual line splitting for `.csv`, `.tsv`, and `.tab` interchange. Optional `rowVar` exposes the complete current row or column as a list, while optional `rowNumberVar` exposes its physical one-based spreadsheet number without renumbering skipped empty entries. It is named differently from generally zero-based logical loop `indexVar` outputs. Empty cells are exposed as empty strings; missing cells for declared `cellVars` become empty strings, and extra cells beyond `cellVars` are ignored.
Inputs
| Input | Required | Value Kind | Types | Enum Values |
|---|---|---|---|---|
path | yes | expression | file-path-string | — |
axis | no | enum | enum-string | ROW, COLUMN |
from | no | expression | — | — |
to | no | expression | — | — |
skipEmpty | no | expression | — | — |
rowVar | no | string | — | — |
rowNumberVar | no | string | — | — |
cellVars | yes | array | array | — |
Notes
- Reads delimited spreadsheet input, not native Excel workbook content.
- Supported explicit file suffixes are
.csv,.tsv, and.tab. - If the provided path has no suffix, the runtime reads from
<path>.csv. - If the provided path has an unsupported explicit suffix such as
.xlsx, the block fails clearly instead of guessing a format. - Prefer this block over
forEachTextLineplustextSplitfor.csv,.tsv, and.tabinterchange. - Empty cells are exposed as empty strings.
- Optional
rowVarreceives a copy of the complete current row or column. - Optional
rowNumberVarreceives its physical one-based spreadsheet row or column number. Skipped empty rows or columns are not renumbered. The distinct name is intentional because other DSL loopindexVarvalues are generally zero-based logical indices. - If a row has fewer cells than
cellVars, the remaining named variables are set to empty strings. - If a row has more cells than
cellVars, the extra cells are ignored. skipEmptycontrols whether empty rows are skipped; it does not strip empty cells from non-empty rows.