Bearbeiten von CSV-Dateien, um Daten nicht zu beschädigen



HFLabs-Produkte in industriellen Mengen verarbeiten Daten: Adressen, vollständige Namen, Unternehmensdetails und sogar einen Wagen insgesamt. Natürlich beschäftigen sich Tester jeden Tag mit diesen Daten: Aktualisieren Sie Testfälle, untersuchen Sie die Ergebnisse der Reinigung. Oft geben Kunden dem Tester eine "Live" -Basis, um den Service dafür zu konfigurieren.

Das erste, was wir neuen QAs beibringen, ist das Speichern von Daten in ihrer ursprünglichen Form. Alles gemäß den Bündnissen: "Tu nichts." In diesem Artikel werde ich Ihnen zeigen, wie Sie sorgfältig mit CSV-Dateien in Excel und Open Office arbeiten. Tipps helfen dabei, nichts zu verderben, Informationen nach der Bearbeitung zu speichern und sich im Allgemeinen sicherer zu fühlen.

Das Material ist einfach, Profis werden sich auf jeden Fall langweilen.

Was sind CSV-Dateien?


Das CSV-Format wird zum Speichern von Tabellen in Textdateien verwendet. Daten werden häufig in Tabellen gepackt, daher sind CSV-Dateien sehr beliebt.


Eine CSV-Datei besteht aus Datenzeilen und Trennzeichen, die Spaltengrenzen angeben

CSV steht für durch Kommas getrennte Werte - "durch Kommas getrennte Werte". Lassen Sie sich jedoch nicht vom Namen täuschen: Sowohl Semikolons als auch Tabulatoren können als Spaltentrennzeichen in einer CSV-Datei dienen. Es wird weiterhin eine CSV-Datei sein.

CSV bietet viele Vorteile gegenüber demselben Excel-Format: Textdateien sind einfach wie eine Schaltfläche, lassen sich schnell öffnen und auf jedem Gerät und in jeder Umgebung ohne zusätzliche Tools lesen.

Aufgrund seiner Vorteile ist CSV ein sehr beliebtes Datenaustauschformat, obwohl es bereits 40 Jahre alt ist. CSVs verwenden industrielle Anwendungen und laden Daten aus Datenbanken in dieses Format herunter.

Ein Problem - ein Texteditor für die Arbeit mit CSV reicht nicht aus. Wenn die Tabelle jedoch einfach ist: Im ersten Feld hat die ID die gleiche Länge, im zweiten das Datum das gleiche Format und im dritten eine Adresse. Aber wenn die Felder unterschiedlich lang sind und es mehr als drei gibt, beginnt die Qual.


Behalten Sie Trennwände und Spalten im Auge - Sie brechen sich die Augen

Noch schlimmer bei der Datenanalyse: Versuchen Sie, mit Notepad mindestens alle Zahlen in einer Spalte hinzuzufügen. Ich spreche nicht von schönen Grafiken.

Daher werden CSV-Dateien in Excel und seinen Analoga analysiert und bearbeitet: Open Office , LibreOffice und andere.

Für Veteranen, die dennoch lesen: Leute, wir kennen die Analyse direkt in der Datenbank mit SQL, wir kennen Tableau und Talend Open Studio . Dieser Artikel ist für Anfänger gedacht, aber auf einer grundlegenden Ebene und einer kleinen Menge von Excel-Daten mit Analoga ist ausreichend.

Wie Excel Daten durcheinander bringt: von den Klassikern


Alles wäre in Ordnung, aber Excel, das die CSV-Datei kaum öffnet, beginnt mit seinen listigen Tricks. Er ändert die Daten ohne Aufforderung, so dass sie wertlos werden. Und er macht es völlig unbemerkt. Aus diesem Grund haben wir einmal eine Reihe von Problemen gelöst.

Die meisten Vorfälle sind darauf zurückzuführen, dass das Programm Zeichenfolgen mit einer Reihe von Zahlen ohne Nachfrage in Zahlen konvertiert.

Rundet ab. In der ursprünglichen Zelle werden beispielsweise zwei Telefone durch Kommas ohne Leerzeichen getrennt gespeichert: "5235834.5235835". Was wird Excel tun? Konvertiert bekanntermaßen Zahlen in eine Zahl und rundet auf zwei Dezimalstellen: „5235834.52“. Also verlieren wir das zweite Telefon.

Führt zu Exponentialform. Excel konvertiert "123456789012345" sorgfältig in die Zahl "1,2E + 15". Wir verlieren den ursprünglichen Wert vollständig.

Das Problem ist relevant für lange Zeichen mit fünfzehn numerischen Zeilen. Zum Beispiel CLADR-Codes (dies ist eine solche Statuskennung eines Adressobjekts: Stadt, Straße, Haus).

Entfernt führende Vorteile. Excel glaubt, dass das Plus am Anfang einer Zeile mit Zahlen ein völlig überflüssiges Zeichen ist. Wie, und es ist so klar, dass die Zahl positiv ist, da kein Minus davor steht. Daher wird das führende Plus in der Nummer "+74955235834" als unnötig verworfen - es wird "74955235834" angezeigt. (In Wirklichkeit wird die Zahl noch mehr leiden, aber aus Gründen der Klarheit werde ich mit dem Plus auskommen.)

Der Verlust eines Plus ist kritisch, wenn die Daten beispielsweise an ein System eines Drittanbieters gesendet werden und das Format beim Import streng überprüft wird.

Bricht drei Ziffern ab. Excel ist eine gute Seele, die eine digitale Zeichenfolge analysiert, die länger als drei Zeichen ist. Beispielsweise wird aus "8 495 5235834" "84 955 235 834".

Die Formatierung ist zumindest für Telefonnummern wichtig: Leerzeichen trennen Länder- und Stadtcodes vom Rest der Nummer und voneinander. Excel verletzt leicht die korrekte Aufteilung des Telefons.

Entfernt führende Nullen. Excel wandelt die Zeichenfolge "00523446" in "523446" um.
In der TIN sind beispielsweise die ersten beiden Ziffern der Regionalcode. Für die Republik Altai fängt es bei Null an - „04“. Ohne Null wird die Bedeutung der Zahl verzerrt und die INN-Formatprüfung wird überhaupt nicht bestanden.

Ändert die Daten in die lokalen Einstellungen. Excel korrigiert gerne die Hausnummer "1/2" bis "01. Feb." Da Windows dies in diesem Formular vorgeschlagen hat, ist es für Sie bequemer, die Daten zu lesen.

Wir besiegen Datenkorruption durch ordnungsgemäßen Import


Im Ernst, Excel ist nicht für die Probleme verantwortlich, sondern eine nicht offensichtliche Möglichkeit, Daten in das Programm zu importieren.

Standardmäßig wendet Excel den allgemeinen Typ auf die Daten in der heruntergeladenen CSV-Datei an - den allgemeinen Typ. Aus diesem Grund erkennt das Programm digitale Zeichenfolgen als Zahlen. Diese Reihenfolge kann mit dem integrierten Import-Tool aufgehoben werden.

Ich starte den eingebauten Importmechanismus in Excel. Im Menü heißt es „Daten → Externe Daten abrufen → Aus Text“.

Ich wähle eine CSV-Datei mit Daten aus, ein Dialog öffnet sich. Im Dialog klicke ich auf den Dateityp Begrenzt (abgegrenzt). Codierung - Die in der Datei enthaltene wird normalerweise automatisch ermittelt. Wenn die erste Zeile der Datei eine Kopfzeile ist, markiere ich "Meine Daten haben Kopfzeilen".

Ich gehe zum zweiten Schritt des Dialogs über. Ich wähle das Feldtrennzeichen (normalerweise ein Semikolon - Semikolon). Ich deaktiviere "Behandle aufeinanderfolgende Trennzeichen als eins" und setze "Textqualifizierer" auf "{keine}". (Das Textqualifikationsmerkmal ist ein Symbol für den Anfang und das Ende des Textes. Wenn das Trennzeichen in der CSV ein Komma ist, wird das Textqualifikationsmerkmal benötigt, um die Kommas im Text von den Trennzeichen zu unterscheiden.)

Im dritten Schritt wähle ich das Format der Felder , damit alles gestartet wird. Für alle Spalten setze ich den Typ auf "Text". Übrigens, wenn Sie auf die erste Spalte klicken, die Umschalttaste gedrückt halten und auf die letzte klicken, werden alle Spalten gleichzeitig hervorgehoben. Praktisch.

Als nächstes fragt Excel, wo die Daten aus der CSV eingefügt werden sollen. Klicken Sie einfach auf "OK". Die Daten werden in einem offenen Blatt angezeigt.


Sie müssen vor dem Importieren eine neue Arbeitsmappe in Excel erstellen

Aber! Wenn ich vorhabe, Daten über Excel zu CSV hinzuzufügen, gibt es noch etwas zu tun.

Nach dem Import müssen alle Zellen auf dem Blatt in das Format "Text" gebracht werden. Andernfalls erhalten die neuen Felder denselben allgemeinen Typ.

  • Ich drücke zweimal Strg + A, Excel wählt alle Zellen auf dem Blatt aus;
  • Ich klicke mit der rechten Maustaste.
  • Ich wähle "Zellen formatieren" im Kontextmenü;
  • Wählen Sie im daraufhin angezeigten Dialogfeld links den Datentyp Text aus.


Um alle Zellen auszuwählen, müssen Sie zweimal Strg + A drücken. Genau zwei, das ist kein Scherz, versuchen Sie es

Danach lässt Excel mit etwas Glück die Originaldaten in Ruhe. Dies ist jedoch nicht die schwierigste Garantie. Nach dem Speichern werden wir die Datei definitiv über einen Text-Viewer überprüfen.

Alternative: Open Office Calc


Um mit CSV-Dateien zu arbeiten, verwende ich Calc. Es ist nicht so, dass digitale Daten überhaupt nicht als Zeichenfolgen betrachtet werden, aber sie werden zumindest nicht entsprechend den regionalen Einstellungen von Windows neu formatiert. Ja, und der Import ist einfacher.

Natürlich benötigen Sie das Open Office (OO) -Paket. Während der Installation bietet er an, sich MS Office-Dateien neu zuzuweisen. Ich empfehle nicht: Obwohl OO ziemlich funktional ist, versteht es die schwierige Microsoft-Formatierung von Dokumenten nicht vollständig.

Es ist jedoch durchaus sinnvoll, OO zum Standardprogramm für CSV-Dateien zu machen. Sie können dies nach der Installation des Pakets tun.

Also starten wir den Datenimport aus CSV. Nach einem Doppelklick auf die Datei zeigt Open Office ein Dialogfeld an.


Beachten Sie, dass Sie in OO keine neue Arbeitsmappe erstellen und den Import selbst erzwingen müssen

  1. Codierung - wie in der Datei.
  2. "Separator" ist ein Semikolon. Natürlich, wenn es genau das Trennzeichen in der Datei ist.
  3. "Texttrennzeichen" - leer (wie in Excel).
  4. Im Abschnitt "Felder" klicke ich in das linke obere Quadrat der Tabelle. Alle Spalten werden hervorgehoben. Ich gebe die Art von "Text" an.

Eine Sache, die viel Blut verdorben hat: Wenn Sie versehentlich mehrere Feldtrennzeichen ausgewählt haben oder der falsche Text geteilt ist, wird die Datei möglicherweise korrekt geöffnet, aber möglicherweise nicht richtig gespeichert.

Neben Calc ist libreOffice in HFLabs besonders unter Linux beliebt. Beide werden für CSV aktiver verwendet als Excel.

Bonustrack: Probleme beim Speichern von Calc auf .xlsx


Wenn Sie Daten aus dem Calc-Format in das Excel-XLSX-Format speichern, beachten Sie, dass OO manchmal unerklärlich und in großem Umfang Daten verliert.


Das weiße Ödland in der Mitte ist reich an Daten in der ursprünglichen CSV-Datei

Daher öffne ich nach dem Speichern die Datei erneut und stelle sicher, dass die Daten vorhanden sind.

Wenn etwas verloren geht, muss die Behandlung von CSV auf .xlsx gespeichert werden. Wenn Windows installiert ist, importieren Sie von CSV nach Excel und speichern Sie von dort aus.

Nach dem erneuten Speichern werde ich auf jeden Fall noch einmal überprüfen, ob alle Daten vorhanden sind und keine zusätzlichen Leerzeilen vorhanden sind.

Wenn Sie an der Arbeit mit Daten interessiert sind, schauen Sie sich unsere offenen Stellen an . HFLabs benötigt fast immer Analysten, Tester, Implementierungsingenieure und Entwickler. Wir werden Daten bereitstellen, damit wenig scheint :)

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


All Articles