ForHosting KIT · Outils pour développeurs

Guillemets champ CSV

La cellule He said "Hi", friend devient "He said ""Hi"", friend" : elle est entourée de guillemets doubles et chaque guillemet interne est doublé, comme l'exige la RFC 4180, pour que virgules et guillemets ne décalent pas vos colonnes. L'outil fait aussi l'inverse. 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
Texte
He said "Hi", friend
Mode de calcul
Quote
Vous obtenez
Résultat
"He said ""Hi"", friend"
Longueur
24

Le CSV paraît simple jusqu'à ce qu'un nom de produit contienne une virgule, qu'une note porte des guillemets doubles ou qu'une cellule s'étende sur deux lignes. Un champ mal guillemeté casse les analyseurs, tableurs et pipelines de données de façons difficiles à repérer après coup. Utilisez-le lorsque vous avez besoin d'un oracle fiable pour une cellule — pas d'un analyseur CSV complet — avant d'assembler ou de scinder des lignes ailleurs.

Comment RFC 4180 guillemette un seul champ CSV

RFC 4180 définit le CSV comme des enregistrements de champs séparés par des virgules, avec une clôture optionnelle entre guillemets doubles pour les champs autrement ambigus. Un champ qui contient une virgule, un guillemet double, un retour chariot ou un saut de ligne doit être entouré de guillemets doubles. À l'intérieur d'un champ guillemeté, un guillemet double littéral s'écrit comme deux guillemets doubles d'affilée — jamais comme un échappement barre oblique.

Les champs sans ces caractères spéciaux peuvent rester nus, bien que les producteurs puissent tout guillemeter par uniformité. Cette capacité met en œuvre ce contrat pour exactement un jeton de champ. En mode quote, elle parcourt la valeur brute à la recherche de virgule, guillemet, CR et LF ; si l'un apparaît, ou si force est true, elle construit un jeton guillemeté en enveloppant le texte et en remplaçant chaque guillemet embarqué par une paire doublée.

Si aucun n'apparaît et que force est false, la valeur brute est renvoyée inchangée pour que les identifiants simples restent compacts. En mode unquote, un guillemet double initial signifie que tout le jeton est guillemeté : le caractère final doit aussi être un guillemet double, chaque guillemet intérieur doit apparaître en paire, et le corps récupéré est renvoyé sans l'enceinte extérieure.

Un jeton nu sans guillemet initial est renvoyé tel quel, mais un jeton nu qui contient encore un guillemet est rejeté car cette forme n'est pas un champ non guillemeté légal selon RFC 4180.

Ce que vous envoyez et ce que vous recevez

Envoyez un champ chaîne obligatoire nommé text et des champs optionnels mode et force. Le mode quote convertit le texte brut de cellule en un jeton de champ RFC 4180 stocké dans result. Le mode unquote inverse le guillemetage de text et renvoie la valeur plain récupérée dans result.

Force vaut false par défaut, donc le mode quote n'entoure que lorsque le champ contient une virgule, un guillemet, CR ou LF ; mettez force à true lorsque votre producteur guillemette toujours chaque cellule pour une mise en page uniforme. Les échecs de validation ne consomment pas le solde prépayé.

Les contrôles classiques incluent le guillemetage d'une salutation avec guillemets et virgule embarqués, le déguillemetage du jeton résultant vers les caractères d'origine, le forçage des guillemets sur un mot simple qui resterait sinon nu, et le rejet d'une chaîne guillemetée qui ne se ferme jamais.

Où un guillemeteur de champ CSV unique se justifie

Les générateurs de code et les tâches ETL qui construisent des lignes CSV cellule par cellule doivent guillemeter chaque champ de texte libre avant de joindre avec des virgules, sinon un seul titre de produit avec virgule décalera toutes les colonnes suivantes. Les aides d'import de tableur et les outils de support collent une cellule désordonnée à la fois et ont besoin d'un chemin réversible qui échoue bruyamment sur des tickets à demi guillemetés au lieu de tronquer en silence.

Les auteurs de cours qui enseignent l'hygiène des données veulent une page dédiée au guillemetage au niveau du champ plutôt que d'enterrer la règle sous un nettoyeur CSV multi-lignes, car l'intention de recherche diffère : ceux qui cherchent à guillemeter ou déguillemeter un champ CSV veulent les règles d'échappement, pas le renommage de colonnes ni la déduplication. Les pipelines de localisation et de contenu qui injectent des phrases d'utilisateurs dans des modèles d'export peuvent appeler ce point d'accès parse depuis des workers en périphérie sans déployer un moteur de tableur.

L'échec de validation ne consomme pas le solde. Gardez chaque requête à un champ, figez les chaînes de résultat dans les tests, et vous obtenez un guillemetage reproductible pour générateurs, plugins LMS et workers en périphérie sans tirer un framework CSV complet pour une seule cellule.

Cellules sûres dans des lignes CSV générées

Guillemetez chaque nom de produit, note ou adresse en texte libre avant de joindre les colonnes afin que virgules et guillemets ne décalent jamais la mise en page de la ligne.

Tests dorés pour bibliothèques CSV

Générez et vérifiez des vecteurs quote et unquote conformes aux règles de doublement RFC 4180 entre langages et exportateurs de tableurs.

Comment guillemeter un champ CSV avec des guillemets embarqués ?

Envoyez le champ brut dans text avec mode quote (par défaut). Toute virgule, guillemet double, CR ou LF déclenche l'enceinte ; les guillemets intérieurs deviennent "". Exemple : He said "Hi" devient "He said ""Hi""".

Comment retirer les guillemets d'un champ CSV ?

Envoyez le jeton de champ codé avec mode unquote. Les jetons guillemetés doivent commencer et finir par des guillemets doubles ; les guillemets doublés à l'intérieur deviennent un seul guillemet dans le résultat.

Quand force est-il utile ?

Mettez force à true en mode quote pour envelopper tous les champs, même les mots simples sans caractères spéciaux. Certains producteurs préfèrent un guillemetage uniforme pour chaque cellule ; laissez force à false pour guillemeter seulement lorsque RFC 4180 l'exige.

Cela analyse-t-il un fichier CSV entier ?

Non. Cette capacité guillemette ou déguillemette exactement un jeton de champ.

Quand une cellule CSV doit-elle être entre guillemets ?

Seulement si elle contient une virgule, un guillemet double, un retour chariot ou un saut de ligne. Sinon, la valeur revient inchangée et les identifiants simples restent courts, sauf si vous choisissez de mettre toutes les cellules entre guillemets.

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/enc/csv-quote

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/enc/csv-quote \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"He said \"Hi\", friend"}'
{
  "text": "He said \"Hi\", friend"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.csv_quote",
  "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.

Ce guillemeteur de champ CSV applique les règles RFC 4180 à un seul champ à la fois : le mode quote entoure la valeur de guillemets doubles et double chaque guillemet embarqué lorsque le champ l'exige (ou toujours si vous forcez le guillemetage) ; le mode unquote inverse ce codage et échoue aussitôt avec invalid_input sur les jetons non fermés ou à demi échappés, au lieu d'inventer des données absurdes.

Comment RFC 4180 guillemette un seul champ CSV

Le chemin est un travail pur de chaînes, sans réseau, sans graines aléatoires et sans horloge murale, de sorte que des entrées identiques produisent toujours le même JSON. Le tarif des appels API réussis est la base publiée de $0.002 par élément, et les échecs de validation ne consomment pas le solde prépayé.

Ce que vous envoyez et ce que vous recevez

Lorsque mode est omis, quote est la valeur par défaut, de sorte qu'un seul payload reste utile. La réponse reprend mode, force, le text d'origine, result, quoted (si le résultat ou le jeton d'entrée est guillemeté), needs_quotes (si la valeur brute exige le guillemetage selon RFC 4180) et la length de result. Text manquant, objets non chaîne, valeurs de mode non prises en charge, valeurs illisibles comme booléen pour force, chaînes plus longues que le maximum documenté, champs guillemetés non fermés, guillemets simples non échappés dans un corps guillemeté et champs nus contenant illégalement un guillemet échouent tous avec invalid_input et un message clair en anglais. Le tarif API en cas de succès est la base publiée de $0.002 par élément.

Où un guillemeteur de champ CSV unique se justifie

Comme l'implémentation est un parse pur de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant. Si vous devez nettoyer, joindre ou convertir un fichier entier en JSON, traitez cela comme des intentions et landings de recherche distinctes plutôt que de surcharger cette page de guillemetage de champ.

Décoder une seule cellule guillemetée

Retirez les guillemets d'un jeton de champ RFC 4180 issu d'un journal, ticket ou fixture pour retrouver un texte lisible, avec échecs durs sur guillemets non fermés ou à demi échappés.

Combien coûte le guillemeteur de champ CSV ?

L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; l'entrée invalide n'est pas facturée.

Consulter la documentation complète du KIT →