Skip to content

Conversion CSV

L'endpoint /csv convertit entre CSV et JSON : parse transforme un texte CSV en tableau d'objets, format fait l'inverse.

Comment ça marche ?

Le parseur respecte les champs entre guillemets, y compris les guillemets échappés ("") et les sauts de ligne à l'intérieur d'un champ entre guillemets. Les fins de ligne CRLF et CR sont normalisées en LF avant l'analyse.

Paramètres

Le corps de la requête doit être en JSON :

ParamètreRequisDescription
actionOuiAction à effectuer : parse ou format
csvCond.Texte CSV à convertir (requis pour parse)
jsonCond.Tableau d'objets à convertir (requis pour format)
delimiterNonSéparateur de champ, un seul caractère. Par défaut : ,
headersNonparse uniquement : utilise la première ligne comme clés. Par défaut : true

Actions disponibles

ActionDescription
parseConvertit un texte CSV en tableau d'objets
formatConvertit un tableau d'objets en texte CSV

Champs de réponse

Action parse :

ChampTypeDescription
actionstringparse
rowsobject[]Tableau des lignes analysées
countnumberNombre de lignes retournées

Action format :

ChampTypeDescription
actionstringformat
csvstringLe texte CSV généré
countnumberNombre de lignes converties

Exemples de code

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "action": "parse",
    "csv": "name,age\nAlice,30"
  }' \
  "https://api.sylvain.sh/v5/csv"

Essayer

Gestion des erreurs

Si les paramètres sont manquants ou invalides, l'API retournera une erreur :

Message d'erreurDescription
Please provide an action (?action=parse|format)Le paramètre action est manquant
Please provide a valid action (?action=parse|format)La valeur de action n'est ni parse ni format
Delimiter must be a single characterLe delimiter ne fait pas exactement un caractère
Please provide CSV data (?csv={data})Le paramètre csv est manquant pour parse
CSV cannot exceed 50000 charactersLe texte csv dépasse la longueur maximale
CSV cannot exceed 1000 rowsLes données analysées dépassent la limite de lignes
Please provide a JSON array (?json=[...])Le paramètre json est manquant, n'est pas un tableau, ou est vide pour format
JSON cannot exceed 1000 rowsLe tableau json dépasse la limite de lignes