Escribal
Back to Docs

CSV / TSV

Reading

This group opens a CSV or TSV file and loads it into the workflow as a document you can then modify and save. Each instruction reads a file from disk — with headers or without, in a given text encoding, skipping some leading rows, or with a non-standard quote character — and turns its rows into a table held in memory.

Prerequisite: none. Unlike most groups, these are entry-point instructions: they don’t need a document to exist beforehand — they create one by reading a file. A workflow that processes an existing spreadsheet-like file usually begins with one of these (instead of Create CSV/TSV file).

These concepts recur across the instructions in this group; they are explained here once.

  • File path (the source to read from): the CSV/TSV file the instruction opens. This is where the data comes from. If it is left empty, the instruction does nothing — no document is loaded.

  • ⚠ Name and Path (the destination to save to) — leaving both empty overwrites the file you opened: where the loaded document will be written when you save it later. Leaving them empty saves over the file you opened, and filling them in is a save as: whatever you leave empty is taken from File path, so a Path on its own keeps the original file name and a Name on its own keeps its folder. The file name is inherited whole, extension included: opening notes.log and leaving the destination empty writes over notes.log itself. A File name you type is a name without extension, so that one takes the format’s own.

  • CSV becomes .csv, TSV becomes .tsv: the Delimiter also decides the saved file’s extension. A tab delimiter saves the document as a .tsv file; any other delimiter saves it as .csv.

  • Document: the Document key names the loaded document so later instructions can target it. If you leave it empty, the loaded file becomes the current document (the one instructions use by default).

  • Delimiter: the character that separates the values on each line — a comma (,) for CSV, a tab for TSV. The default is a comma; if it resolves to empty, a comma is used.

  • With or without headers: when a file has headers, its first row is read as the column names, and every following row becomes a record with those named fields. When it has no headers, every row (including the first) is loaded as a plain list of values. Some instructions have a Has headers switch; Read With Headers and Read Without Headers are fixed to one mode.

  • Dynamic values @name: the text fields (File path, Delimiter, Name, Path, Document key, and the Encoding name / Quote character fields where present) accept a saved value: type @ followed by its name and the engine substitutes the value at run time.

  • Nothing is written to disk here. These instructions only load the file into the workflow; a later save instruction writes it out.

  • “From variable” fields: the numeric Rows to skip has a companion Rows to skip key field:

    • If you leave it empty, the number typed in the normal field is used.
    • If you fill it in with the name of a saved value, the engine ignores the normal field and reads the number of rows from that variable.

    This is mainly for chaining instructions. If you only work with fixed values, you can ignore it.

Read Skipping Leading Rows .csv

Opens a CSV/TSV file after skipping a number of leading rows (title lines, notes, export credits, etc.), then reads the rest.

When to use it: when the real table doesn’t start on the first line — for example a file that begins with a couple of description or metadata rows before the actual data.

Parameter Meaning Default Required
File path The CSV/TSV file to read from (accepts @name) (empty) Yes
Rows to skip How many rows to skip before reading begins 1 No
Delimiter Character separating the values (accepts @name) , No
Has headers Yes = the first row after the skipped rows holds the column names; No = every remaining row is a list of values Yes No
Rows to skip (from variable) Reads the number of rows to skip from a saved value (empty) No
Has headers (from variable) Reads the yes/no value from a saved value (empty) No
Name File name the loaded document will be saved under (accepts @name) (empty) No
Path Folder the loaded document will be saved to (accepts @name) (empty) No
Document key Names the loaded document so later instructions can target it. Empty = current document (accepts @name) (empty) No

Important behavior: the first Rows to skip rows are discarded; then, if Has headers is Yes, the next row is used as the column names and the remaining rows become records. If File path is empty, nothing is loaded. A tab delimiter makes the saved file a .tsv.


Read With Custom Quote .csv

Opens a CSV/TSV file whose text values are wrapped in a non-standard quote character (standard CSV uses the double quote ").

When to use it: for files that quote their fields with single quotes or another character instead of double quotes.

Parameter Meaning Default Required
File path The CSV/TSV file to read from (accepts @name) (empty) Yes
Quote character The character that wraps text values (accepts @name) ' No
Delimiter Character separating the values (accepts @name) , No
Has headers Yes = first row holds the column names; No = every row is a list of values Yes No
Has headers (from variable) Reads the yes/no value from a saved value (empty) No
Name File name the loaded document will be saved under (accepts @name) (empty) No
Path Folder the loaded document will be saved to (accepts @name) (empty) No
Document key Names the loaded document so later instructions can target it. Empty = current document (accepts @name) (empty) No

Important behavior: only the first character of Quote character is used; if it resolves to empty, the standard double quote " is used instead. If File path is empty, nothing is loaded. A tab delimiter makes the saved file a .tsv.


Read With Encoding .csv

Opens a CSV/TSV file using a specific text encoding, so accented and special characters are read correctly.

When to use it: for files that are not saved in UTF-8 — for example a legacy file in iso-8859-1 or windows-1252 where accents would otherwise come out garbled.

Parameter Meaning Default Required
File path The CSV/TSV file to read from (accepts @name) (empty) Yes
Encoding name The character encoding to read with, e.g. utf-8, iso-8859-1, windows-1252 utf-8 No
Delimiter Character separating the values (accepts @name) , No
Has headers Yes = first row holds the column names; No = every row is a list of values Yes No
Has headers (from variable) Reads the yes/no value from a saved value (empty) No
Name File name the loaded document will be saved under (accepts @name) (empty) No
Path Folder the loaded document will be saved to (accepts @name) (empty) No
Document key Names the loaded document so later instructions can target it. Empty = current document (accepts @name) (empty) No

Important behavior: if Encoding name is empty, utf-8 is used. The encoding name must be one the system recognizes. If File path is empty, nothing is loaded. A tab delimiter makes the saved file a .tsv.


Read With Headers .csv

Opens a CSV/TSV file and uses its first row as the column names, loading each following row as a record with those named fields.

When to use it: the normal way to open a table that has a header row — the columns keep their names, so later instructions can refer to them by name.

Parameter Meaning Default Required
File path The CSV/TSV file to read from (accepts @name) (empty) Yes
Delimiter Character separating the values (accepts @name) , No
Name File name the loaded document will be saved under (accepts @name) (empty) No
Path Folder the loaded document will be saved to (accepts @name) (empty) No
Document key Names the loaded document so later instructions can target it. Empty = current document (accepts @name) (empty) No

Important behavior: the first row becomes the column names; each remaining row becomes a record. Blank lines are ignored. If File path is empty, nothing is loaded. A tab delimiter makes the saved file a .tsv.


Read Without Headers .csv

Opens a CSV/TSV file that has no header row, loading every row — including the first — as a plain list of values.

When to use it: for files whose first line is already data, not column names.

Parameter Meaning Default Required
File path The CSV/TSV file to read from (accepts @name) (empty) Yes
Delimiter Character separating the values (accepts @name) , No
Name File name the loaded document will be saved under (accepts @name) (empty) No
Path Folder the loaded document will be saved to (accepts @name) (empty) No
Document key Names the loaded document so later instructions can target it. Empty = current document (accepts @name) (empty) No

Important behavior: no row is treated as column names — every row is loaded as a list of values in order. Blank lines are ignored. If File path is empty, nothing is loaded. A tab delimiter makes the saved file a .tsv.


This documentation is the help of the application, and it comes underCreative Commons Attribution 4.0.