ꜛ Daten in PQ importieren → Aus CSV / Text (2)

Xtract: Import von Dat­en ein­er exter­nen Datei im Text-For­mat (*.csv, *.txt, *.prn, …) mit­tels Pow­er Query. Dieser Beitrag ist für absolute Ein­steiger ohne Vor­wis­sen geeignet. Teil 2 (hier find­en Sie Teil 1, „echte” *.csv, keine Beson­der­heit­en)

Wis­sens­stand: Lev­el 1 ⇒ Pow­er Query für Ein­steiger – Keine Vorken­nt­nisse in PQ

Sonderfälle

Komma-Separator, CodePage, Leerzeichen

Hin­weis: Sie kön­nen alle hier benötigten Dateien in 1 zip-Datei herun­ter­laden!

Laden Sie erst ein­mal diese Datei (Mitglieder_des_18.Dt.Bundestages.csv) herunter. Es sind auch die Abge­ord­neten des 18. Deutschen Bun­destages, dieses Mal aber alpha­betisch geord­net. Das ist beileibe nicht die eigentliche bzw. einzige Beson­der­heit. Wenn Sie das File nach dem Down­load an Ihrer Wun­sch­po­si­tion gespe­ichert haben, dann „öff­nen” Sie bitte die Datei. Nein, nicht mit Excel, denn die *.csv-Dateien haben bekan­ntlich per Default zwar ein Excel-ähn­lich­es Sym­bol sind aber reine Text­dateien. Also ein Recht­sklick auf den File­na­men und Öff­nen mit auswählen. Hier bietet sich der Win­dows-eigene Edi­tor Notepad an; ich ver­wende übri­gens den frei ver­füg­baren und kosten­losen „großen Brud­er” Notepad++. – Ihnen wird rasch auf­fall­en, dass in diesen Dat­en manch­es anders ist:

Alphabetische Liste aller Mitglieder des 18. Deutschen Bundestages, Stand 04.05.2015,
Name,Vorname,Fraktion
Aken, Jan van, Die Linke
Albani, Stephan, CDU/CSU
Albsteiger, Katrin, CDU/CSU
Alpers, Agnes, Die Linke *
Altmaier, Peter, CDU/CSU
Amtsberg, Luise, Bündnis 90/Die Grünen
Andreae, Kerstin, Bündnis 90/Die Grünen
Annen, Niels, SPD
Arndt-Brauer, Ingrid, SPD
Arnold, Rainer, SPD
Auernhammer, Artur, CDU/CSU

Dieser Auss­chnitt zeigt die Damen und Her­ren, deren Namen mit einem „A” begin­nen. Und um bess­er ver­gle­ichen zu kön­nen, öff­nen Sie auch die vorher ver­wen­dete, unge­ord­nete Datei mit dem Text-Edi­tor. Ich zeige Ihnen hier auch ein­mal die ersten Zeilen auf:

Name;Vorname;Fraktion
Zech;Tobias;CDU/CSU
Stamm-Fibich;Martina;SPD
Friedrich (Hof);Dr. Hans-Peter;CDU/CSU
Widmann-Mauz;Annette;CDU/CSU
Jung;Andreas;CDU/CSU
Meister;Dr. Michael;CDU/CSU
Patzelt;Martin;CDU/CSU
Baerbock;Annalena;Bündnis 90/Die Grünen

Drei markante Unter­schiede soll­ten Ihnen ins Auge fall­en:

  • Als Trennze­ichen wurde im zuerst ver­wen­de­ten Beispiel das hier in Deutsch­land übliche Semi­kolon ver­wen­det, jet­zt (in der geord­neten Datei) ist es ein Kom­ma.
  • Beim Semi­kolon-File fol­gt dem Tren­ner direkt der fol­gende Zell-Inhalt, bei der jet­zt zu bear­bei­t­en­den Datei ist nach dem Kom­ma ein Leerze­ichen einge­fügt.
  • Und auch die erste Zeile der neuen Kom­ma-Datei gehört ganz offen­sichtlich nicht zu den eigentlichen Dat­en, es ist eher ein Hin­weis, ein erk­lären­der Text.

Schließen Sie gerne wieder die bei­den Edi­tor-Fen­ster und führen Sie den Import der eben gespe­icherten *.csv nach dem gle­ichen Muster wie bere­its geschehen durch. Und ich finde es immer wieder imponierend, wie Pow­er Query doch Beson­der­heit­en erken­nt:

Wichtiges wurde erkan­nt, offen­sichtliche Ungereimtheit­en wur­den beseit­igt

Was Sie im Win­dows-Edi­tor nicht erken­nen kon­nten: Die Code­page dieser Dat­en ist nicht 1252: Win­dows son­dern 6501: Uni­code (UTF‑8). Dieses For­mat ist weltweit ver­bre­it­et und in den USA prak­tisch Stan­dard. Wie auch die Kom­ma­ta als Trennze­ichen zwis­chen den „Spal­ten” der comma separat­ed values-Datei. Bei­des wurde von PQ erkan­nt und auch als Default vorgeschla­gen. Und bere­its hier könen Sie erken­nen, dass die Leer­schritte nach dem Kom­ma schein­bar gar nicht über­nom­men wor­den sind. Sog­ar die erste Zeile (die nicht zu den Dat­en gehörende Erk­lärung) wurd kor­rekt beim Kom­ma getren­nt.

Übernehmen Sie die Dat­en durch einen Klick auf Dat­en trans­formieren und zumin­d­est 1 Über­raschung: Die Leerze­ichen vor den Vor­na­men und Frak­tions­beze­ich­nun­gen sind wieder da. Und klar, das muss auch so sein, denn Pow­er Query kann let­z­tendlich nicht für einen User entschei­den, ob da nun ein führen­des Leerze­ichen sein soll oder nicht. Insofern war die Vorschau nicht ganz den Tat­sachen entsprechend.

Es bleiben noch einige Schritte, um die Abfrage in die gewün­schte Form zu bekom­men. Zu Beginn sollte die erste Zeile mit dem Hin­weis auf den Inhalt der Dat­en gelöscht wer­den. Die hat in ein­er solchen Abfrage nichts zu suchen. Das geht sehr gut über das Menü Start | Zeilen ver­ringern | Zeilen ent­fer­nen | Erste Zeilen ent­fer­nen und tra­gen Sie im erschiene­nen Dia­log bei Anzahl von Zeilen den Wert 1 ein. Nach ein­er Bestä­ti­gung mit OK wird diese Zeile sofort ver­schwun­den sein. 😎 

Prinzip­iell bleiben jet­zt noch 2 Schritte zu erledi­gen. Die führen­den Leerze­ichen sollen aus den Spal­ten ent­fer­nt und die nun­mehr erste Zeile muss noch als Über­schrift deklar­i­ert wer­den. In vie­len Fällen dürfte es egal sein, welchen Schritt Sie zuerst durch­führen. In diesem Fall ist aber eine Aus­nahme gegeben; die erste Zeile zeich­net sich dadurch aus, dass hier keine Leer­stellen vor der Spal­tenüber­schrift gegeben sind. Wür­den Sie also als ersten Schritt das erste Zeichen in jed­er Zelle der jew­eili­gen Spalte ent­fer­nen, dann wür­den die Über­schriften unter Umstän­den um das erste Zeichen gekürzt und damit falsch sein. Darum ist es wichtig, dass Sie zu Beginn die Erste Zeile als Über­schrift deklar­i­eren und erst danach die bei­den betrof­fe­nen Spal­ten von führen­den Leerze­ichen befreien.

Den Weg, wie sie die erste Zeile zur Über­schrift machen, ken­nen Sie bere­its. Anschließend markieren Sie die Spalte Vor­name, Shift oder Strg und ein Klick in die Über­schrift Frak­tion. Nun ein Recht­sklick in eine der bei­den Über­schriften und im Kon­textmenü Trans­formieren | Kürzen. Alle führen­den und eventuell auch ange­hängten Leerze­ichen wer­den dadurch ent­fer­nt. Sie ken­nen diese Funk­tonal­ität in Plain Excel unter GLÄTTEN(). – Die Abfrage entspricht nun dem Wun­schergeb­nis und Sie kön­nen die Query schließen.

▲ nach oben …

Dateiursprung Mac®

Laden Sie von unserem Serv­er bitte diese Datei  (Bundestagsmitglieder_unsortiert_mac.csv) herunter. Nach­dem Sie den Import-Assis­ten­ten ges­tartet haben wer­den Sie fest­stellen, dass hier die Umlaute nicht kor­rekt wiedergegeben wer­den. Um mir selb­st nach Ihnen die Sache etwas leichter zu machen hat­te ich dem File einen „sprechen­den” Namen gegeben. 😎 Sie wis­sen nun also, dass der Dateiur­sprung von einem Mac® stammt. Das hat aber Pow­er Query jedoch nicht eigen­ständig erkan­nt. Wählen Sie im Textfeld Dateiur­sprung den Ein­trag 10000: Wes­teu­ropäisch (Mac) und alles ist wieder gut. 🙂 

▲ nach oben …

Fast schon „Methusalem”: DOS-Format

Ganz sel­ten begeg­nen sie mir noch, Dat­en in „guten alten” DOS-For­mat. Manch­es „klas­sis­che” Pro­gramm der Waren­wirtschaft oder ähn­lich ist immer noch im Ein­satz und tut seinen Dienst. Und nicht umson­st haben Sie in Excel immer noch die Möglichkeit, Dat­en dieser Code-Basis zu importieren und auch zu exportieren. Und natür­lich auch für dieses For­mat eine Muster-csv (Bundestagsmitglieder_unsortiert_dos.csv).

▲ nach oben …

Andere Codepages

Das Prinzip ist exakt so, wie hierüber disku­tiert. Wenn Sie wis­sen, um welche Code­page es sich han­delt, kön­nen Sie diese entsprechend wählen. Sie soll­ten aber wegen der hohen Ver­bre­itung UTF‑8 erst ein­mal aus­pro­bieren. Falls Sie keinen Anhalt­spunkt haben bietet sich vielle­icht auch die Möglichkeit an, die Dat­en erst ein­mal in Notepad++ zu laden. Dieser Edi­tor kann mitunter die entsprechende Code­page erken­nen; es ist aber auch recht kom­fort­a­bel möglich, per Pro­bieren die kor­rek­te Codierung her­auszufind­en. Anson­sten kann vielle­icht eine Such­mas­chine Ihrer Wahl zielführend sein; bei mein­er Suche bin ich auf FlowHeater® gestoßen, es gibt aber gewiss noch mehr Möglichkeit­en. Zum Aus­pro­bieren habe ich für Sie noch das ANSI-For­mat (Bundestagsmitglieder_unsortiert_ANSI.csv) und explz­it UTF‑8 (Bundestagsmitglieder_unsortiert_utf‑8.csv).

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits z.B. 2,00  freuen …

Dieser Beitrag wurde unter a) Keine Vorkenntnisse, Datentyp anpassen, File-Handling, Power Query, PQ für Einsteiger, PQ-Basics, PQ-Import en détail, Text-Behandlung abgelegt und mit , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.