Trim a CSV, JSON, or XLSX file down to just the columns and rows you need, then get the result as a new file in any of those formats. Select which columns to keep, add row filters (equals, greater than, contains, and more), sort by one or more columns, and cap the output at a row limit. No code or SQL required.
You want a large file cut down to specific columns and rows, or a sorted top-N slice, with no code.
Totals, averages, group-by, pivots, deduplication, joins across files, renaming or computing columns, or running SQL or formulas.
~1 credits / MB of input (up to 5)
Charged on the input size, so a wide source costs the same whether you keep one column or all.
Estimated; the actual charge depends on your input and is shown in the response.
Set these inside the intent when you run it.
A download URL pointing to the CSV, JSON, or XLSX file to reshape.
The format to write the result in. One of csv, json, or xlsx.
List of column names to keep, in the order you want them.
Row conditions to apply (AND-combined). Each specifies a column, operator (eq, ne, gt, lt, ge, le, contains, in, notnull, isnull), and value.
Columns to sort by, each with an optional descending flag.
Maximum number of rows to return, applied after sorting.
For XLSX source files, the sheet name to read. Omit to use the first sheet.
A time-limited download link to the reshaped file with only the selected columns and matching rows.
Run this sub-skill directly: pin it with operation and pass its inputs in the intent. (Omit operation and the Tabular skill will route from your intent instead.)
curl -X POST "https://skill.askfaro.com/skills/tabular/run" \
-H "Authorization: Bearer $FARO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"intent":{"operation":"reshape","source_file":"https://example.com/sales.csv","target_format":"csv","columns":["name","revenue","region"],"filters":[{"op":"gt","value":1000,"column":"revenue"}],"sort":[{"desc":true,"column":"revenue"}],"limit":50,"sheet":"Sheet1"}}'Example requests