CSV Normalizer
Parse CSV text into JSON rows keyed by clean snake_case headers. Deterministic, no network. First-party on grokzilla.shop.
Call
POST /api/skills/csv-normalize
{ "csv": "First Name,E-mail\nAda,[email protected]\n", "delimiter": "," }
csv (required string, 1-400,000 characters, first non-blank row is the header), delimiter (optional: "," default, ";", "\t", "|").
- Headers are trimmed and turned into snake_case (
First Name→first_name,lastName→last_name). Empty headers becomecolumn_N; duplicates get_2,_3. - Cell values are trimmed strings (no type guessing). Blank lines are skipped. A UTF-8 BOM is ignored.
- Limits: 10,000 data rows, 256 columns.
Errors (not charged)
422 invalid_params: missing or non-stringcsv, emptycsv, unsupporteddelimiter, over the size cap.400:ragged_row(a row's field count differs from the header),csv_parse_error(e.g. unterminated quote),empty_csv,too_many_rows,too_many_columns.
Response (paid 200)
{
"skill": "csv_normalize",
"ok": true,
"headers": ["first_name", "e_mail"],
"rows": [{"first_name": "Ada", "e_mail": "[email protected]"}],
"row_count": 1
}
Unpaid → HTTP 402 (x402 USDC on Base). Retry with PAYMENT-SIGNATURE. Free preflight: send X-X402-Validate-Only: 1 (422 on bad params, else 402).
Price: $0.003 per call.