ForHosting KIT · Texte et IA

Transposer lignes et colonnes CSV

name,age,city au-dessus de Ada,36,London et Bob,41,Paris devient name,Ada,Bob, puis age,36,41 et city,London,Paris : chaque ligne devient une colonne. Les lignes courtes sont complétées par des cellules vides et les virgules entre guillemets sont respectées. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Données CSV
name,age,city Ada,36,London Bob,41,Paris
Vous obtenez
Données CSV
name,Ada,Bob age,36,41 city,London,Paris
Lignes
3
Colonnes
3
Lignes d'origine
3

Transposer un tableau CSV signifie que chaque ligne devient une colonne et chaque colonne une ligne, de sorte qu'un export large devient haut et qu'un export haut devient large sans réécrire les cellules à la main. Les analystes utilisent ce retournement lorsqu'une feuille est arrivée avec des métriques en lignes plutôt qu'en colonnes, lorsqu'un outil de graphique veut les séries dans la première colonne, ou lorsqu'une mise en page de type tableau croisé doit être défaite avant une jointure. Cette capacité analyse le CSV au style RFC 4180, complète les lignes courtes pour que la grille soit rectangulaire, échange les indices et réécrit le tableau transposé avec le même délimiteur et les bons guillemets.

Ce que signifie transposer les lignes et colonnes d'un CSV

Un fichier CSV est une grille à peu près rectangulaire : des enregistrements séparés par des sauts de ligne et des champs séparés par un délimiteur, le plus souvent une virgule. Transposer cette grille est le même échange de forme connu de l'algèbre linéaire, appliqué à des cellules de texte plutôt qu'à des nombres. La première ligne d'entrée devient la première colonne de sortie ; la première colonne d'entrée devient la première ligne de sortie.

Un tableau trois sur deux devient deux sur trois. Les en-têtes ne sont pas spéciaux : si la première ligne est name, age, city, ces libellés passent dans la première colonne du résultat, ce que visent la plupart des recherches « retourner cette feuille ». La définition n'a de sens que lorsque chaque ligne partage le même nombre de colonnes.

Les exports réels sont souvent irréguliers — une ligne sans le champ vide final, une autre avec une virgule en trop —, aussi cet outil complète les lignes courtes par des chaînes vides jusqu'à la ligne la plus large, au lieu d'inventer des données ou de supprimer des cellules. Les champs entre guillemets suivent RFC 4180 : une cellule qui contient le délimiteur, un guillemet double ou un saut de ligne reste une seule cellule, et un guillemet interne s'écrit comme deux.

Préférez cette landing transpose-csv-rows-and-columns lorsque l'intention est un simple retournement d'orientation.

Contrat d'entrée, règles de citation et champs de réponse

Le delimiter optionnel vaut virgule par défaut ; utilisez un seul caractère ou l'orthographe courante de tabulation pour le TSV. Un champ n'est cité en sortie que s'il contient le délimiteur, un guillemet, CR ou LF, afin que les identifiants simples restent compacts. Les lignes vides de la source sont ignorées ; les cellules vides sont conservées, y compris une cellule vide en tête après le retournement.

Exemple : name,age puis Ada,36 devient name,Ada sur la première ligne résultat et age,36 sur la deuxième. Utilisez csv lorsque vous avez besoin d'un fichier à télécharger ou à coller ; utilisez cells lorsqu'un client affichera un tableau sans analyser à nouveau.

Retournez un export mensuel large

Collez une feuille où chaque mois est une colonne, transposez pour que chaque mois soit une ligne, puis envoyez le tableau haut vers un graphique ou une jointure.

Corrigez un dump d'enquête de travers

Les outils d'enquête émettent parfois un répondant par colonne. Transposez le CSV pour que chaque personne soit une ligne avant l'analyse.

Comment transposer les lignes et colonnes d'un CSV ?

Le champ csv de la réponse est le tableau retourné ; cells est la même grille sous forme de tableaux. Le delimiter optionnel vaut virgule par défaut.

Que devient la ligne d'en-tête ?

La première ligne devient la première colonne. Des libellés comme name, age et city passent dans la première colonne de sortie, ce qui est le retournement habituel d'une feuille.

Comment les lignes inégales sont-elles traitées ?

Les lignes courtes sont complétées par des chaînes vides jusqu'à la ligne la plus large pour que la transposition reste rectangulaire. Aucune cellule n'est supprimée et aucune valeur n'est inventée au-delà de ces vides.

Conserve-t-il les virgules dans les champs entre guillemets ?

Oui. L'analyse et l'écriture suivent RFC 4180 : les champs cités peuvent contenir le délimiteur, des guillemets (doublés) et des sauts de ligne.

L'outil pour transposer un CSV est-il gratuit ?

L'outil du navigateur s'exécute gratuitement sur votre appareil.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/str/csv-transpose

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/str/csv-transpose \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"csv":"name,age,city\nAda,36,London\nBob,41,Paris"}'
{
  "csv": "name,age,city\nAda,36,London\nBob,41,Paris"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.csv_transpose",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Une entrée vide, des guillemets non fermés et des tableaux trop grands échouent en invalid_input au lieu d'une demi-grille silencieuse. Les appels API réussis sont facturés à $0.002 ; les échecs de validation ne sont pas facturés.

Ce que signifie transposer les lignes et colonnes d'un CSV

Ne l'utilisez pas pour filtrer des lignes, renommer de nombreuses colonnes, joindre deux fichiers ou convertir tout un tableau en JSON imbriqué — ce sont d'autres intentions produit. Le chemin est entièrement déterministe : le même texte CSV et le même délimiteur produisent toujours le même JSON, sans réseau, sans graine aléatoire et sans horloge murale.

Contrat d'entrée, règles de citation et champs de réponse

Envoyez un corps JSON avec le champ chaîne obligatoire csv égal au texte non vide du tableau. Les alias text, input, data, source, content et value sont acceptés pour le corps CSV. Absence de csv, csv vide, csv non chaîne, un délimiteur qui n'est pas exactement un caractère, un délimiteur qui est un guillemet ou un saut de ligne, des champs cités non fermés et des tableaux qui dépassent les limites de taille documentées déclenchent invalid_input avec un message qui nomme le problème, et ces échecs ne sont pas facturés sur l'API prépayée. En succès la réponse inclut csv comme texte du tableau transposé avec séparateurs de lignes LF et citation RFC 4180, cells comme la même grille sous forme de tableaux, rows et cols pour la forme du résultat, original_rows et original_cols pour la forme d'entrée (original_cols est la largeur maximale avant le complément), delimiter qui rappelle le séparateur utilisé, et method toujours csv_transpose.

Usage de l'API, tarifs, flux de travail et limites pratiques

Appelez l'outil gratuit dans le navigateur pour transposer un CSV lorsque vous devez retourner un tableau de devoirs, un export CRM ou un dump de métriques sans ouvrir un tableur ni écrire un script improvisé. Un flux typique colle un export large avec les mois en tête, transpose pour que chaque mois soit une ligne, puis envoie le résultat vers un graphique ou une jointure. Associez ce point d'entrée à extract-csv-column, filter-csv ou csv-to-json lorsque l'étape suivante est une liste d'un seul champ, un filtre de lignes ou un tableau d'objets, mais gardez transposer CSV comme landing propre afin de ne pas mêler le retournement d'orientation aux transformations qui renomment ou calculent des colonnes. N'attendez pas de détection automatique du délimiteur, d'inférence de types ni un moteur complet de tableau croisé avec agrégations — ce sont d'autres problèmes. Utilisez l'API prépayée KIT lorsqu'un CMS, une étape ETL, un harnais QA, une application de tutorat ou un client mobile ont besoin du même contrat avec un solde à $0.002 par élément réussi ; les échecs de validation ne consomment jamais le solde après le rejet du moteur. Les auteurs qui livrent des SDK peuvent documenter csv comme obligatoire, montrer un exemple de succès avec une ligne d'en-tête et un exemple d'erreur csv manquant pour que les intégrateurs voient les deux faces du contrat. Gardez les charges dans des tailles de document ordinaires adaptées à un isolate Worker, plutôt que des dumps d'entrepôt de plusieurs mégaoctets.

Fixtures golden pour analyseurs CSV

Les scripts CI figent un échantillon cité et irrégulier et vérifient csv et cells transposés afin que citation et complément ne régressent pas en silence.

Consulter la documentation complète du KIT →