Modification des fichiers CSV pour ne pas casser les données



Les produits HFLabs en volumes industriels traitent les données: adresses, noms complets, coordonnées de l'entreprise et même un chariot au total. Naturellement, les testeurs traitent ces données tous les jours: mettre à jour les cas de test, étudier les résultats du nettoyage. Souvent, les clients donnent une base «en direct» au testeur pour configurer le service pour lui.

La première chose que nous enseignons aux nouveaux AQ est de sauvegarder les données dans leur forme originale. Le tout selon les alliances: "Ne faites pas de mal". Dans cet article, je vais vous montrer comment travailler avec soin avec les fichiers CSV dans Excel et Open Office. Les conseils vous aideront à ne rien gâcher, à enregistrer les informations après la modification et à vous sentir généralement plus en confiance.

Le matériel est basique, les professionnels s'ennuieront certainement.

Que sont les fichiers CSV?


Le format CSV est utilisé pour stocker des tableaux dans des fichiers texte. Les données sont souvent regroupées dans des tableaux, les fichiers CSV sont donc très populaires.


Un fichier CSV se compose de lignes de données et de délimiteurs qui indiquent les limites des colonnes

CSV signifie valeurs séparées par des virgules - «valeurs séparées par des virgules». Mais ne vous laissez pas berner par le nom: les points-virgules et les tabulations peuvent servir de séparateurs de colonnes dans un fichier CSV. Ce sera toujours un fichier CSV.

CSV présente de nombreux avantages par rapport au même format Excel: les fichiers texte sont simples comme un bouton, s'ouvrent rapidement, peuvent être lus sur n'importe quel appareil et dans n'importe quel environnement sans outils supplémentaires.

En raison de ses avantages, le CSV est un format d'échange de données très populaire, bien qu'il ait déjà 40 ans. Les CSV utilisent des applications industrielles, ils téléchargent des données à partir de bases de données.

Un problème - un éditeur de texte pour travailler avec CSV ne suffit pas. Néanmoins, si le tableau est simple: dans le premier champ, l'ID est de la même longueur, dans le second, la date est du même format et dans le troisième, une adresse. Mais lorsque les champs de longueurs différentes et qu'il y en a plus de trois, les tourments commencent.


Gardez une trace des séparateurs et des colonnes - vous vous brisez les yeux

Pire encore avec l'analyse des données - essayez le Bloc-notes pour au moins ajouter tous les nombres dans une colonne. Je ne parle pas de beaux graphismes.

Par conséquent, les fichiers CSV sont analysés et modifiés dans Excel et ses analogues: Open Office , LibreOffice et autres.

Aux vétérans qui lisent néanmoins: les gars, nous connaissons l'analyse directement dans la base de données en utilisant SQL, nous connaissons Tableau et Talend Open Studio . Cet article est destiné aux débutants, mais à un niveau de base et une petite quantité de données Excel avec des analogues est suffisante.

Comment Excel gâche les données: des classiques


Tout irait bien, mais Excel, ouvrant à peine le fichier CSV, commence ses astuces astucieuses. Il modifie les données sans demande pour qu'elles deviennent sans valeur. Et il le fait complètement inaperçu. Pour cette raison, à un moment donné, nous avons saisi un tas de problèmes.

La plupart des incidents sont dus au fait que le programme convertit les chaînes avec un ensemble de nombres en nombres sans demande.

Arrondit. Par exemple, dans la cellule d'origine, deux téléphones sont stockés séparés par des virgules sans espaces: «5235834.5235835». Que fera Excel? Convertit les nombres en un seul nombre et arrondit à deux décimales: «5235834.52». Nous perdons donc le deuxième téléphone.

Conduit à une forme exponentielle. Excel convertit soigneusement "123456789012345" en nombre "1,2E + 15". Nous perdons complètement la valeur d'origine.

Le problème concerne les longs caractères de quinze lignes numériques. Par exemple, les codes CLADR (il s'agit par exemple d'un identifiant d'état d'un objet d'adresse: ville, rue, maison).

Supprime les principaux avantages. Excel pense que le plus au début d'une ligne avec des chiffres est un caractère complètement superflu. Comme, et c'est tellement clair que le nombre est positif, car il n'y a pas de moins devant. Par conséquent, le principal plus dans le nombre "+74955235834" sera rejeté comme inutile - il se révélera "74955235834". (En réalité, le nombre souffrira encore plus, mais pour plus de clarté, je m'entendrai avec le plus).

La perte d'un plus est critique, par exemple, si les données sont transmises à un système tiers et que celui-ci vérifie rigoureusement le format lors de l'importation.

Décompose trois chiffres. Excel est une bonne âme qui analysera une chaîne numérique de plus de trois caractères. Par exemple, «8 495 5235834» deviendra «84 955 235 834».

Le formatage est important au moins pour les numéros de téléphone: les espaces séparent les codes de pays et de ville du reste du numéro et les uns des autres. Excel viole facilement la division correcte du téléphone.

Supprime les zéros non significatifs. Excel transformera la chaîne «00523446» en «523446».
Et dans le TIN, par exemple, les deux premiers chiffres sont le code de région. Pour la République de l'Altaï, tout part de zéro - «04». Sans zéro, la signification du nombre sera déformée et la vérification du format INN ne passera pas du tout.

Modifie les dates aux paramètres locaux. Excel se fera un plaisir de corriger le numéro de maison "1/2" à "01. fév." Parce que Windows l'a suggéré dans ce formulaire, il est plus pratique pour vous de lire les dates.

Nous vainquons la corruption des données par une importation appropriée


Mais sérieusement, Excel n'est pas à blâmer pour les problèmes, mais un moyen non évident d'importer des données dans le programme.

Par défaut, Excel applique le type Général aux données du fichier CSV téléchargé - le type Général. Pour cette raison, le programme reconnaît les chaînes numériques comme des nombres. Cet ordre peut être annulé à l'aide de l'outil d'importation intégré.

Je démarre le mécanisme d'importation intégré dans Excel. Dans le menu, il s'agit de «Données → Obtenir des données externes → Du texte».

Je sélectionne un fichier CSV avec des données, une boîte de dialogue s'ouvre. Dans la boîte de dialogue, je clique sur le type de fichier Délimité (délimité). Encodage - celui du fichier est généralement déterminé automatiquement. Si la première ligne du fichier est un en-tête, je marque «Mes données ont des en-têtes».

Je passe à la deuxième étape du dialogue. Je sélectionne le séparateur de champ (généralement un point-virgule - point-virgule). Je désactive «Traitez les délimiteurs consécutifs comme un seul» et définissez «Qualificateur de texte» sur «{aucun}». (Le qualificatif de texte est un symbole du début et de la fin du texte. Si le séparateur dans le CSV est une virgule, le qualificatif de texte est nécessaire pour distinguer les virgules à l'intérieur du texte des virgules de séparateur.)

À la troisième étape, je choisis le format des champs , pour le plaisir tout a commencé. Pour toutes les colonnes, j'ai défini le type sur «Texte». Soit dit en passant, si vous cliquez sur la première colonne, maintenez la touche Maj enfoncée et cliquez sur la dernière, toutes les colonnes seront mises en surbrillance à la fois. Idéalement.

Ensuite, Excel vous demandera où coller les données du CSV - vous pouvez simplement cliquer sur "OK", et les données apparaîtront dans une feuille ouverte.


Vous devez créer un nouveau classeur dans Excel avant d'importer

Mais! Si je prévois d'ajouter des données au CSV via Excel, il y a autre chose à faire.

Après l'importation, il est nécessaire de forcer toutes les cellules de la feuille au format "Texte". Sinon, les nouveaux champs acquerront le même type général.

  • J'appuie deux fois sur Ctrl + A, Excel sélectionne toutes les cellules de la feuille;
  • Je clique sur le bouton droit de la souris;
  • Je sélectionne "Formater les cellules" dans le menu contextuel;
  • dans la boîte de dialogue qui s'ouvre, sélectionnez le type de données Texte à gauche.


Pour sélectionner toutes les cellules, vous devez appuyer deux fois sur Ctrl + A. Exactement deux, ce n'est pas une blague, essayez

Après cela, avec un peu de chance, Excel laissera les données originales seules. Mais ce n'est pas la garantie la plus difficile, donc après l'enregistrement, nous vérifierons certainement le fichier via une visionneuse de texte.

Alternative: Open Office Calc


Pour travailler avec des fichiers CSV, j'utilise Calc. Ce n'est pas qu'il ne considère pas les données numériques comme des chaînes, mais au moins ne leur applique pas de reformatage conformément aux paramètres régionaux de Windows. Oui, et l'importation est plus simple.

Bien sûr, vous aurez besoin du package Open Office (OO). Lors de l'installation, il proposera de réaffecter les fichiers MS Office à lui-même. Je ne le recommande pas: bien que OO soit assez fonctionnel, il ne comprend pas parfaitement la mise en forme délicate de Microsoft des documents.

Mais faire d'OO le programme par défaut pour les fichiers CSV est tout à fait raisonnable. Vous pouvez le faire après avoir installé le package.

Nous commençons donc l'importation de données depuis CSV. Après avoir double-cliqué sur le fichier, Open Office affiche une boîte de dialogue.


Notez que dans OO, vous n'avez pas besoin de créer un nouveau classeur et de forcer l'importation à démarrer, tout seul

  1. Encodage - comme dans le fichier.
  2. "Séparateur" est un point-virgule. Naturellement, s'il s'agit précisément du séparateur dans le fichier.
  3. "Séparateur de texte" - vide (tout comme dans Excel).
  4. Dans la section "Champs", je clique dans le carré en haut à gauche du tableau, toutes les colonnes sont mises en surbrillance. J'indique le type de "Texte".

Une chose qui a gâté beaucoup de sang: si vous sélectionnez par erreur plusieurs séparateurs de champs ou si le mauvais texte est divisé, le fichier peut s'ouvrir correctement, mais il peut être enregistré de manière incorrecte.

En plus de Calc, libreOffice est populaire dans les HFLabs, en particulier sous Linux. Les deux sont utilisés plus activement pour CSV qu'Excel.

Bonus track: problèmes lors de l'enregistrement de Calc vers .xlsx


Si vous enregistrez des données de Calc au format Excel .xlsx, gardez à l'esprit - OO parfois inexplicablement et à grande échelle perd des données.


La friche blanche au milieu est richement remplie de données dans le fichier CSV d'origine

Par conséquent, après avoir enregistré, j'ouvre à nouveau le fichier et m'assure que les données sont en place.

Si quelque chose est perdu, le traitement consiste à enregistrer de CSV en .xlsx. Ou, si Windows est installé, importez de CSV vers Excel et enregistrez à partir de là.

Après la ré-enregistrement, je vais certainement vérifier une fois de plus que toutes les données sont en place et qu'il n'y a pas de lignes vides supplémentaires.

Si vous souhaitez travailler avec des données, consultez nos offres d'emploi . HFLabs a presque toujours besoin d'analystes, de testeurs, d'ingénieurs d'implémentation, de développeurs. Nous fournirons des données pour que peu semble :)

Source: https://habr.com/ru/post/fr432906/


All Articles