Filtrer un CSV
Ne gardez que les lignes utiles d'un CSV : dans l'exemple, demander des ventes supérieures à 100 conserve ES avec 120 et AR avec 200 et écarte MX avec 80, soit 2 lignes. Les nombres sont comparés comme des nombres et les dates comme des dates. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Cet outil trie un fichier CSV pour n’en garder que les lignes qui vous intéressent, selon une ou plusieurs conditions : une valeur exacte, un seuil de montant, une plage de dates. Utile quand un export compte des milliers de lignes et que vous n’avez besoin que d’une partie précise.
Des conditions simples ou combinées
Vous choisissez une colonne et la règle à appliquer : garder les lignes où la ville est « Lyon », où le statut vaut « payé », ou celles qui contiennent un mot précis. Plusieurs conditions se combinent pour affiner davantage, par exemple les commandes d’un département dépassant un certain montant. Le résultat est un fichier réduit aux seules lignes qui comptent, sans que vous ayez à faire défiler des milliers d’enregistrements à la main.
Filtrer sur des nombres ou des dates
Au-delà du texte, l’outil sait comparer des valeurs numériques et des dates : ne conserver que les factures supérieures à 1 000 €, les inscriptions postérieures à une date, ou les quantités inférieures à un seuil d’alerte. C’est le moyen rapide d’isoler une tranche précise — les grosses commandes du trimestre, les lignes hors délai — sans construire un filtre compliqué dans un tableur ni recopier des formules d’une cellule à l’autre.
Un fichier qui ne quitte pas votre poste
Le filtrage a lieu dans votre navigateur ; le fichier d’origine n’est pas envoyé ailleurs et n’est pas conservé après l’opération. Quand le CSV réunit des données de clients, des adresses ou des montants sensibles, cette garantie a du poids, d’autant qu’aucun compte n’est demandé pour s’en servir. Les fichiers jusqu’à 25 Mo sont acceptés, ce qui couvre la grande majorité des exports du quotidien.
Cas d’usage
Isoler les commandes d’une région
Camille Moreau extrait d’un gros export les seules commandes rattachées à un département, pour préparer une relance ciblée.
Ne garder que les grosses factures
Atelier Garnier SARL isole les factures supérieures à 1 000 € afin de les relire une à une avant clôture comptable.
Segmenter une liste de contacts
Nadia Benali ne conserve que les contacts d’une même ville avant de les importer dans un outil d’envoi.
Questions fréquentes
Puis-je combiner plusieurs conditions ?
Oui, vous cumulez plusieurs règles pour affiner le tri, par exemple une ville et un montant minimum dans le même filtre.
Puis-je filtrer sur une plage de dates ?
Oui. L’outil reconnaît les dates et permet de ne garder que les lignes comprises entre deux bornes, ou postérieures à une date donnée.
Mes données sont-elles envoyées quelque part ?
Non, le filtrage s’effectue localement dans votre navigateur ; le fichier reste sur votre appareil.
Comment trouver les lignes où une colonne est vide ?
Utilisez la condition « est vide » sur cette colonne. C'est un moyen rapide d'isoler les enregistrements auxquels il manque une valeur obligatoire avant un import ; la condition inverse, « n'est pas vide », ne garde que les lignes remplies.
Les lignes conservées gardent-elles leurs valeurs d'origine ?
Oui. Les lignes retenues reviennent exactement comme dans le fichier, avec les mêmes colonnes et les mêmes valeurs, et le résultat indique leur nombre. Dans l'exemple, 2 des 3 pays passent et gardent leurs chiffres de ventes intacts.
Outils associés
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/filter-csv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"csv":"a,b\n1,2\n3,4","where":{"column":"a","op":">","value":1}}'const res = await fetch("https://api.kit.forhosting.com/data/filter-csv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"csv": "a,b\n1,2\n3,4",
"where": {
"column": "a",
"op": ">",
"value": 1
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/filter-csv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"csv": "a,b\n1,2\n3,4",
"where": {
"column": "a",
"op": ">",
"value": 1
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/filter-csv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"csv":"a,b\\n1,2\\n3,4","where":{"column":"a","op":">","value":1}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"csv":"a,b\n1,2\n3,4","where":{"column":"a","op":">","value":1}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/filter-csv", 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": "a,b\n1,2\n3,4",
"where": {
"column": "a",
"op": ">",
"value": 1
}
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.filter_csv",
"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. |
Questions techniques
Est-ce vraiment gratuit ?
Oui, sans limite dans le navigateur. Seul l’usage programmable, pour automatiser le filtrage, est facturé $0.002 la requête.
Y a-t-il une limite de taille de fichier ?
Oui, jusqu’à 25 Mo par fichier.
Dois-je m’inscrire ?
Non, aucune inscription : l’outil fonctionne immédiatement.