Calculer les statistiques d’une colonne CSV
Transformez une colonne numérique CSV en résumé statistique compact sans ouvrir de tableur ni écrire un script jetable.
Lancer gratuitement
Fournissez le texte CSV et le nom exact de la colonne numérique afin d’obtenir son minimum, son maximum, sa moyenne arithmétique, sa médiane et son écart-type de population. Chaque cellule sélectionnée est validée avant le calcul : colonne absente, cellule vide, libellé, infini ou autre valeur non numérique déclenche une erreur explicite plutôt qu’un résultat partiel trompeur. Les champs entre guillemets, les guillemets échappés, les séparateurs configurables et les fins de ligne courantes sont traités de façon déterministe.
Fournissez le texte CSV et choisissez une colonne
Commencez par un texte CSV dont le premier enregistrement est l’en-tête et dont les suivants contiennent les observations. Définissez column avec l’intitulé exact que vous souhaitez analyser. Les espaces autour de l’en-tête sont ignorés, mais l’orthographe et la casse restent significatives, ce qui empêche la sélection silencieuse d’un autre champ. La virgule est le séparateur par défaut. Si votre fichier emploie un point-virgule, une tabulation, une barre verticale ou un autre séparateur à un caractère, indiquez-le dans le champ prévu. Les valeurs CSV entre guillemets sont prises en charge, y compris les séparateurs et retours à la ligne internes ainsi que les guillemets doublés. L’analyseur considère chaque enregistrement après l’en-tête comme une donnée ; supprimez donc les notes de bas de page étrangères au tableau avant l’envoi. Le fichier doit contenir au moins une ligne de données. La réponse nomme la colonne choisie et fournit le nombre d’observations avec les cinq statistiques, afin que vous puissiez vérifier les valeurs incluses avant d’exploiter le résultat dans un rapport, une règle de validation ou une décision d’importation automatisée.
Interprétez les cinq statistiques obtenues
Le minimum et le maximum décrivent l’étendue observée. La moyenne est arithmétique : toutes les valeurs sélectionnées sont additionnées, puis le total est divisé par leur nombre. La médiane est la valeur centrale après tri numérique ; si le nombre d’observations est pair, elle correspond à la moyenne des deux valeurs centrales. L’écart-type est celui de la population : les écarts à la moyenne mis au carré sont divisés par le nombre total d’observations avant extraction de la racine carrée. Cette définition convient lorsque la colonne CSV constitue toute la population que vous souhaitez décrire. Si les lignes forment plutôt un échantillon servant à estimer une population plus vaste, appliquez ensuite une correction d’échantillon. Les résultats utilisent des nombres JavaScript normalisés à quinze chiffres significatifs pour limiter les artefacts de virgule flottante tout en conservant une précision utile. La capacité ne déduit pas les unités, ne retire pas les valeurs aberrantes, ne pondère pas les observations et ne réinterprète pas les monnaies formatées. Elle résume exactement les nombres finis fournis dans la colonne choisie.
Sécurisez la suite avec une validation stricte
Des statistiques fiables exigent une colonne numérique homogène ; la validation est donc volontairement stricte. La requête échoue si l’en-tête indiqué n’existe pas ou si une cellule sélectionnée est vide, absente, infinie ou ne représente pas un nombre fini. Les lignes incorrectes ne sont jamais ignorées discrètement, car un calcul portant sur un jeu réduit peut sembler plausible tout en étant faux. Normalisez les symboles monétaires, séparateurs de milliers, pourcentages et marqueurs textuels de valeurs nulles avant d’appeler cette capacité. L’erreur indique la colonne et, lorsqu’une cellule est invalide, la position de la ligne de données comptée à partir de un, ce qui facilite la recherche et la correction de l’enregistrement source. Ce comportement permet d’utiliser la capacité comme contrôle qualité avant ingestion : une réponse réussie confirme que la colonne attendue existe et que chaque ligne participe au calcul. Le traitement est déterministe, n’accède pas au réseau et ne conserve aucun fichier. Le navigateur convient à un contrôle immédiat ; chaque requête API automatisée coûte $0.002.
Cas d’usage
Contrôler un export de mesures
Résumez une colonne de capteurs ou de laboratoire, puis comparez son étendue et sa dispersion aux limites attendues.
Valider un flux entrant
Vérifiez qu’une colonne numérique obligatoire existe et ne contient que des valeurs exploitables avant l’importation du CSV.
Décrire les résultats d’une enquête
Calculez la tendance centrale et la dispersion de population d’une réponse numérique sans formules de tableur.
Questions fréquentes
Quel écart-type est renvoyé ?
L’écart-type de population est renvoyé : la variance est divisée par le nombre total d’observations avant sa racine carrée.
Les cellules vides sont-elles ignorées ?
Non. Une cellule vide ou absente dans la colonne choisie provoque une erreur d’entrée afin d’éviter tout sous-ensemble caché.
Le CSV peut-il employer un séparateur autre que la virgule ?
Oui. Fournissez tout séparateur valide d’un caractère, par exemple un point-virgule, une tabulation ou une barre verticale.
Les champs CSV entre guillemets sont-ils acceptés ?
Oui. Les séparateurs entre guillemets, retours à la ligne internes et guillemets doubles échappés respectent les conventions CSV.
Combien coûte une requête API ?
Chaque requête API coûte $0.002. La version navigateur peut être exécutée localement pour les contrôles interactifs.
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/data/csv-column-stats \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"csv":"name,score\nAda,10\nGrace,20\nLinus,30","column":"score"}'const res = await fetch("https://api.kit.forhosting.com/data/csv-column-stats", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"csv": "name,score\nAda,10\nGrace,20\nLinus,30",
"column": "score"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/csv-column-stats",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"csv": "name,score\nAda,10\nGrace,20\nLinus,30",
"column": "score"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/csv-column-stats", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"csv":"name,score\\nAda,10\\nGrace,20\\nLinus,30","column":"score"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"csv":"name,score\nAda,10\nGrace,20\nLinus,30","column":"score"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/csv-column-stats", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"csv": "name,score\nAda,10\nGrace,20\nLinus,30",
"column": "score"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.csv_column_stats",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |