Xtract: Import von Daten einer externen Datei im Text-Format (*.csv, *.txt, *.prn, …) mittels Power Query. Dieser Beitrag ist für absolute Einsteiger ohne Vorwissen geeignet. Teil 1, *.csv ohne Besonderheiten.
Wissensstand: Level 1 ⇒ Power Query für Einsteiger – Keine Vorkenntnisse in PQ
Prolog
Zu Beginn ist es wichtig dass Sie eines wissen: Files mit der Endung *.csv werden typischerweise in Windows zwar mit einem Excel-Symbol dargestellt und per Default bei einem Doppelklick auch mit Excel geöffnet, aber es sind und bleiben reinen Text-Dateien. Darum sollten Sie diese Dateien nie mit dieser Extension mit Excel öffnen sondern stets (auch ohne PQ) importieren. Und wenn Sie auf Power Query verzichten und den „klassischen” Weg gehen wollen, dann wählen Sie den passenden Legacy-Assistenten im Menü Daten | Daten abrufen. Später dazu mehr…
Datenimport *.csv (comma separated values)
Sie wollen Daten eines Files mit der Endung *.csv in den Power Query-Editor importieren. Und gleich zu Beginn der Hinweis, dass das Wort „comma” prinzipiell nur für die US-Variante gilt. Hier in Deutschland (und diversen anderen europäischen Ländern) wird das Semikolon ; statt des Kommas als Trennzeichen zwischen den (künftigen) Spalten verwendet. Der Hintergrund ist, dass das Komma bei uns ja als Dezimaltrenner genutzt wird (in den USA ist es der Punkt). Wie Sie gut feststellen können, welcher Trenner nun der richtige ist, werden Sie gleich erkennen.
Damit Sie mit den gleichen Daten arbeiten wie ich hier im Script, können Sie (jetzt oder etwas später) dieses File von unserem Server herunterladen. Sie gehen (eventuell nach dem Download) den Weg über Daten | Abrufen und transformieren und Klicken dann typischerweise auf das Symbol Aus Text/csv oder im Menüband über das Symbol Daten abrufen | Aus Datei | Aus Text/csv. Anschließend öffnet sich der File-Dialog, wo Sie die zu importierenden Daten auswählen können. Nach der Auswahl des Files wird Ihnen der durch PQ „erkannte” Vorschlag für den künftigen Import angeboten:
Hinweis: Wenn Sie exakt die hierüber gezeigten Daten importieren möchten, dann laden Sie diese hier von unserem Server (Bundestagsmitglieder_unsortiert.csv) herunter. Mein Vorschlag: Sie werden (vermutlich) noch einige weitere Textdateien im csv-Format herunterladen wollen. In dieser zip-Datei finden Sie all jene *.csv, welche hier diskutiert werden. Hinter dem Link zur einzelnen Datei finden Sie in Klammern und kursiv den eigentlichen Filenamen, wie er nach dem entpacken vorhanden ist.
Zugegeben, es gibt praktisch keine Ähnlichkeit zwischen diesem Dialog und dem Import-Fenster in Plain Excel. Aber dafür „erkennt” Power Query schon verschiedene Parameter, die Sie in Excel per Hand auswählen müssen. Trotz dieser Pseudo-Intelligenz haben Sie natürlich die Möglichkeit, diese oder jene Einstellung nachzubessern.
Dateiursprung
Ich weiß nicht, wer den eigentlichen, US-muttersprachlichen Begriff so eingedeutscht hat. Aber allgemein ist der englische Begriff Codepage gebräuchlich und der wird auch international angewendet (und auch überall richtig verstanden). Grob, ja sehr grob erklärt: Unterschiedliche Systeme speichern Zeichen außerhalb des internationalen Zeichensatzes (also Ziffern und A bis Z, a bis z, Satzzeichen, bestimmte Sonderzeichen aber keine Umlaute) auf unterschiedliche Weise ab. Jedes Zeichen hat im Zeichensatz eine Ziffer, die im eben beschriebenen allgemeinen Zeichensatz auch immer gleich ist. So steht die Zahl 65 immer für das große A. Aber beispielsweise unsere Umlaute haben auf dem Mac® (Apple-Gerät) eine andere Nummer und das kann dazu führen, dass diese Zeichen nicht korrekt angezeigt werden.
Hier steht der Wert 1252: Westeuropäisch (Windows) im Auswahl-Feld und der ist auch korrekt. Schauen Sie sich in der Vorschau-Tabelle einmal die Einträge mit Umlauten an und Sie werden erkennen, dass die Namen korrekt dargestellt werden. Ändern Sie versuchsweise einmal die Einstellung des Dateiursprungs im DropDown auf die Zeile darüber, also 10000: Westeuropäisch (Mac):
Bei der Fraktionsgemeinschaft Bündnis 90/Die Grünen (und auch an anderen Stellen) ist klar zu erkennen, dass die Umlaute nicht richtig dargestellt werden. Und Frau Schmidt (drittunterste sichtbare Zeile) kommt übrigens aus Ühlingen… Darum wechseln Sie wieder rasch zu 1252… 💡
Trennzeichen
Hier hat Power Query selbstständig korrekt erkannt, dass die einzelnen Spalten durch ein Semikolon getrennt sind. Darum sind die Spalten darunter auch „sauber” getrennt. Sollten einmal andere Trenner in der *.csv verwendet worden sein und PQ erkennt diese nicht oder nicht korrekt, erweitern Sie das Textfeld und treffen die passende Auswahl:
Datentyperkennung
Ich räume ein, dass ich hier so gut wie nie eine Änderung vornehme. Zumindest nicht an dieser Stelle im Editor. Ich behalte mir vor, den Datentyp nach dem Import in den Editor bei Bedarf meinen Wünschen anzupassen.
Schaltfläche „Laden”
Ein Klick auf diese Schaltfläche führt dazu, dass die Daten in dieser Form in eine Abfrage importiert und sofort in ein neues Tabellenblatt in der Excel Arbeitsmappe geschrieben werden. Wenn Sie diesen Button durch einen Klick auf das Symbol erweitern haben Sie die Möglichkeit, Laden in… zu wählen. Dann können Sie beispielsweise über den Punkt Nur Verbindung erstellen vorgeben, dass die Daten zwar in eine Abfrage importiert aber nach dem Schließen nicht direkt in ein neues Arbeitsblatt geschrieben werden. In beiden Fällen wird sich jedoch der Import-Editor schließen und sie befinden sich entweder im aktuellen (eventuell noch leeren) oder im neu erstellten Arbeitsblatt mit der erstellten Tabelle mit den Daten der Abfrage. Sie erkennen jedoch, dass in jedem Fall ein rechtes Seitenfenster hinzugefügt worden ist, wo die Abfrage aufgeführt ist:
Schaltfläche „Daten transformieren”
In den meisten Fällen ist dieses der beste Weg. Ein Klick auf die Schaltfläche bewirkt, dass die Daten direkt in den Editor importiert werden und Ihnen für die weitere Bearbeitung zur Verfügung stehen. Ich nutze diese Möglichkeit so gut wie immer. Schauen Sie sich an, wie das direkt nach dem ausführen den des Imports aussieht:
Im Moment ist das rechte Seitenfenster das Objekt Ihres Interesses. Bei der Überschrift Eigenschaften wurde der Name der Abfrage automatisch vergeben. Es ist der eigentliche Name der importierten *.csv. Selbstredend können Sie diesen Namen nach eigenen Wünschen anpassen. Im großen Feld darunter Angewendete Schritte sind zwei Zeilen (sprich Schritte) eingefügt: Quelle und Geänderter Typ. Diese Auflistung wird bei jeder durch Sie oder Power Query initiierten Aktion automatisch erweitert. Im Anfangsstadium sind diese Einträge für Sie nicht ganz so wichtig; Ausnahmen bestätigen allerdings die Regel. 💡
Was Ihnen aber gewiss aufallen wird: Power Query hat automatisch Überschriften vergeben, hier Column1 bis Column3. Jede Spalte einer Tabelle muss eine eindeutige Überschrift haben. Aber für den Betrachter ist es offensichtlich, dass schon „sprechende” Überschriften existieren. Allerdings sind diese in Zeile1 der Tabelle. Der Import-Assistent kann nicht in jedem Fall unterscheiden, ob die Texte in der ersten Zeile nun Überschriften sind oder Daten. Wenn eine eindeutige Unterscheidung möglich ist, weil im Datenbereich Zahlen stehen, dann wird der Assistent die erste Zeile auch automatisch als Überschrift einordnen. Aber natürlich bietet Ihnen PQ auch in diesem Fall, wo Überschrift und Daten aus Texten bestehen, einen leicht zu beschreitenden Ausweg an. Im Menü Start gibt es in der Gruppe Transformieren eine Schaltfläche mit der Bezeichnung Erste Zeile als Überschriften verwenden. Ein Klick darauf und Sie haben eine richtig schicke Tabelle (genauer gesagt: Abfrage), welche den Regeln und Ihren Vorstellungen entspricht. Der eigentliche Import ist damit beendet und Sie können mit den Daten nach Herzenslust arbeiten.
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits z.B. 1,50 € freuen …