Données et feuilles de calcul · CSV Nettoyeur
Valeurs séparées par des tabulations par rapport à CSV : pourquoi TSV existe et quand l'utiliser
· Contexte
csv tsv typographie formats de données
Les onglets apparaissent rarement à l'intérieur des données, c'est exactement pourquoi TSV existe. Cet article explique les origines des fichiers séparés par des tabulations, comment ils évitent les problèmes de citation de CSV et où ils échouent encore.
Texte libre plein de virgules et de guillemets qui ne cesse de casser les exportations CSV – l'affaire qui a rendu les onglets attrayants
Les notes en texte libre contiennent souvent des virgules. Les sorties délimitées par des virgules nécessitent donc des guillemets autour de ces cellules. Un onglet peut apparaître moins souvent dans cet ensemble de données particulier, ce qui peut rendre un fichier TSV visuellement plus silencieux. Cela n'élimine pas le besoin d'un analyseur ou d'un accord sur les onglets et les nouvelles lignes intégrés.
ToolAcre traite la tabulation comme l'un des quatre séparateurs. La même machine à états de champs entre guillemets s’exécute quel que soit le séparateur sélectionné. Cela signifie que la décision modifie un caractère structurel, et non le modèle de sécurité, pour chaque valeur gênante.
D'où vient le TSV : les origines du caractère de tabulation sur la machine à écrire et ses premières utilisations dans les vidages de bases de données et les données scientifiques
Le classeur demande un historique depuis les machines à écrire jusqu'aux vidages de base de données, mais ces affirmations ne sont pas présentes dans la configuration, l'implémentation ou les tests du produit. Ce module omet cette chronologie et se concentre sur le comportement que les lecteurs peuvent reproduire avec l'analyseur fourni.
Un onglet dans le texte source est simplement ` ` pour la machine à états lorsqu'il est sélectionné comme délimiteur. En dehors des guillemets, cela termine un champ ; entre guillemets, il reste une partie du champ. Cette règle suffit pour comparer les formats sans inventer une histoire d’origine.
Les origines de la machine à écrire et les premiers historiques de la base de données sont des preuves extérieures au référentiel
TSV peut réduire les guillemets lorsque les valeurs contiennent des virgules mais pas de tabulations, de guillemets ou de fins d'enregistrement. Le plan indiquait que la plupart des dialectes du TSV n'avaient pas besoin d'être cités du tout ; Le sérialiseur de ToolAcre est plus précis. Il cite n'importe quel champ contenant le délimiteur sélectionné, un guillemet, LF, CR ou un espace environnant.
Une note contenant une vraie tabulation doit donc être citée sous la sortie de la tabulation, et une citation littérale est doublée à l'intérieur de ce champ. Le texte libre peut également contenir des sauts de ligne, qui restent cités. Le choix d'un délimiteur inhabituel réduit les collisions dans un ensemble de données ; cela ne fait jamais disparaître les règles de collision.
ToolAcre applique toujours les guillemets de style RFC lorsque les données délimitées par des tabulations contiennent des tabulations, des guillemets ou des nouvelles lignes
Les onglets sont visuellement ambigus car les éditeurs peuvent les afficher sous forme d'espace à largeur variable. La copie via un logiciel qui convertit les tabulations en espaces peut détruire le séparateur tout en laissant le fichier lisible par une personne. Inspectez les caractères invisibles ou comptez sur un aperçu de l'analyseur avant de déclarer un résultat d'une colonne mal formé.
ToolAcre réécrit l'onglet détecté dans une sélection étiquetée et affiche le nombre de colonnes, rendant le choix invisible visible. Si le fichier est en fait du texte aligné avec des espaces plutôt que du texte TSV, la détection des tabulations ne créera pas de colonnes. La sélection manuelle ne permet pas de fabriquer des séparateurs absents.
Échapper aux conventions : séquences de barre oblique inverse dans certains dialectes TSV par rapport aux citations de style RFC dans CSV
Certains dialectes tabulaires utilisent des séquences de barre oblique inverse pour les tabulations ou les nouvelles lignes. ToolAcre ne le fait pas. Son analyseur reconnaît les guillemets doubles de style RFC et les champs entre guillemets sous chaque délimiteur sélectionné. Une barre oblique inverse est un texte de cellule ordinaire et n'échappe pas au caractère suivant.
Cette inadéquation peut laisser des barres obliques parasites ou des limites prématurées lors du chargement d'une exportation configurée pour un dialecte différent. Identifiez d’abord les règles d’évasion du producteur. La conversion en toute sécurité nécessite d'analyser le dialecte d'origine, et non de remplacer les paires barre oblique-lettre sans savoir si elles étaient littérales.
Les dialectes TSV avec barre oblique inverse ne sont pas pris en charge ; ToolAcre utilise des guillemets doublés pour chaque délimiteur sélectionné
Prenez l'identifiant des en-têtes, la note et deux valeurs : une note indique `red, small`, tandis qu'une autre contient un véritable onglet. En sortie virgule, la première note est entre guillemets et la tabulation peut rester sans guillemets car ce n'est pas le délimiteur. Dans la sortie de tabulation, la virgule est ordinaire mais la valeur du support de tabulation est citée.
Analysez chaque sortie avec son délimiteur correspondant et les deux tables récupèrent les mêmes chaînes. Cet exercice montre qu’aucun des deux formats n’évite universellement une manipulation particulière. Le séparateur choisi change simplement le caractère qui déclenche la citation en plus des guillemets et des fins d'enregistrement.
Ce que cela ne couvre pas : formats à largeur fixe et formats tabulaires binaires
Les formats tabulaires à largeur fixe et binaires sont en dehors de l'itinéraire. Il ne déduit pas les colonnes de l’alignement visuel ni ne décode un conteneur en colonnes. Les entrées doivent être textuelles CSV, TSV ou texte brut utilisant une virgule, un point-virgule, une tabulation ou une barre verticale, ou prises en charge JSON dans le sens inverse.
L'itinéraire n'offre également aucun caractère d'échappement personnalisé. Si un flux de travail scientifique ou de base de données définit sa propre grammaire TSV, utilisez un analyseur configuré pour cette grammaire avant d'apporter ici le texte normalisé. Une extension ne constitue pas une preuve suffisante de la compatibilité dialectale.
Choisissez le délimiteur pour les données et le consommateur - comment la réparation du délimiteur de ToolAcre CSV Cleaner produit un fichier délimité de manière cohérente pour le système que vous alimentez
Choisissez un délimiteur en fonction des données et du consommateur, puis indiquez-le explicitement. ToolAcre peut détecter les tabulations et les virgules à partir d'un échantillon rectangulaire de dix lignes, ou accepter une substitution manuelle. Il n’examine pas le contenu sémantique et ne décide pas que les notes méritent des onglets.
Après l'analyse, résolvez les avertissements de ligne et sérialisez avec le même séparateur ou un autre séparateur pris en charge. La gestion standard des guillemets doubles protège les collisions. Le résultat est cohérent car le délimiteur est connu, et non parce que TSV ou CSV est intrinsèquement immunisé contre la ponctuation dans les données.