Reshape a CSV file
Pick the columns you want, reorder them, drop the rest, and change the delimiter on the way out.
Drop a file here, or , or type below.
.csv · .txt · up to 4 MB · processed in memory and never stored · or paste with Ctrl+V
What it does
Also called: reshape a csv file · filter and reorder csv columns · rename the headers in a csv.
Use it from your own code
The same endpoint this page calls — no daily cap, 1 credit a call either way.
POST /v1/core/csv-tools
curl -X POST "$DOATHING_API/v1/core/csv-tools" \
-H "x-api-key: $DOATHING_KEY" \
-H "content-type: application/json" \
-d '{"text": "a,b,c\n1,2,3", "options": {"columns": ["c", "a"]}}'
Pick the columns you want, reorder them, drop the rest, and change the delimiter on the way out.
Select, reorder, rename or drop CSV columns and convert between delimiters.
Input
Send either a text string or a file object. A file is decoded as UTF-8 and must be one of text/csv, text/plain.
Response
The result carries your remaining balance alongside it, so you can track spend without a second call.
{
"text": "c,a\n3,1",
"rows": 1,
"columns": [
"c",
"a"
],
"request_id": "37f01edb-0163-42a1-ac51-0acaef979800",
"credits_remaining": 96
}
Cost
1 credit per call, whether it is run from the site or from the API — the credential differs, the price does not. A new account starts with 20 credits.
A rejected request still costs a credit: the authorizer decrements before the tool validates. A call rejected for a missing or invalid key is free.
Parameters
Generated from the endpoint’s own validation, so this is exactly what it accepts. A body field goes at the top level; an option goes inside options.
| Name | In | Type | Default | Notes |
|---|---|---|---|---|
| columns | options | string[] | [] | Columns to keep, in the order you want them out. |
| drop | options | string[] | [] | Columns to remove. Ignored when `columns` is given. |
| rename | options | object | — | Map of existing column name to new name. |
| output_delimiter | options | string | — | Output delimiter. |
| delimiter | options | string | "," | Input delimiter. |