Excel: Datensätze säubern, vereinheitlichen und automatisch ausfüllen

Ich hatte gestern einen Datensatz von Postleitzahlen und Gemeinden/Landkreisen/Städten (im Rohformat 8000 Zeilen) am Wickel, an dem ich einmal ein paar Aufräum-Arbeiten demonstrieren will – ich konnte so einer Kollegin mehrere Stunden Handarbeit sparen.

Aufbau des Datensatzes (Beispiel-Datensatz) ist relativ simpel: PLZ; Stadt/Landkreis; Stadtteil/Gemeinde.

Problematisch ist die letzte Spalte, in der die einzelnen Gemeinden mit Semikolon getrennt für eine Stadt zusammengefasst sind. Ich will aber für jede Gemeinde eine vollständig ausgefüllte Zeile haben:

Erster Schritt ist also, jeweils ein Semikolon durch eine neue Zeile zu ersetzen. Dafür markiere ich den entsprechenden Tabellenbereich und kopiere ihn in einen Texteditor und von dort nach Word (um Word daran zu hindern, aus der Zwischenablage ein echtes Tabellendokument zu machen).

Ich suche&ersetze das Semikolon durch ein ^p (steht für Paragraph, also neuen Absatz – und rücke die einzelnen Gemeinden noch um zwei ^t (Tabularoren) ein:

Suche ; – ersetze das durch ^p^t^t

Wenn ich diesen Text jetzt zurück zu Excel kopiere, sieht er so aus (um die fehlende “0″ am Anfang der PLZ kümmern wir uns später):

Jetzt hat der Datensatz insgesamt etwas über 14.000 Zeilen, die fehlenden Zellen händisch auszufüllen wäre utopisch, ich bediene mich hier einer einfachen WENN-Formel, in der ich Excel sage: Schaue nach,ob in der ersten Zelle etwas steht, wenn nicht, nimm den Inhalt der Zelle darüber und schreibe ihn in die leeren Felder. Sieht in Excel dann so aus:

=WENN(A3=0;E2;A3)

Diese Formel muss ich dann nur noch bis zur letzten Zeile herunterziehen und habe einen bereinigten Datensatz. Excel ist sehr undankbar, was den Umgang mit Postleitzahlen angeht – im “Zellen formatieren” gibt es unter “Sonderformate” den Punkt “Postleitzahl D”, der mir die Zahlen dann in einem verwertbaren Format darstellt.

Spart ne Menge Zeit…

 

Datensatz: Steinbrücks Honorare 2010 bis 2012

Heute veröffentlichte Peer Steinbrück (SPD) die Höhe seiner Honorare und die Auftragsgeber für seine Vorträge. Wie nicht anders zu erwarten, wurden die Angaben feinsäuberlich als pdf-Dokument herausgegeben. Wir haben daraus einen Datensatz gemacht und daraus z.B. die Karte der Auftrittsorte oben generiert. Unten findet sich der Datensatz und ein Link auf ihn bei Google Docs.

Wie haben wir es gemacht? Per Adobe Acrobat das pdf als Excel gespeichert und durch einige Bearbeitungsschritte die Daten dann in die Spalten sortiert. Siehe dazu auch unser Excel-Tutorial hier im Blog.

PDF zum Download bei Abgeordnetenwatch

Gereinigter Datensatz bei Google Docs (OpenDataCity) – DIE DATEN WURDEN AUTOMATISIERT AUSGELESEN; KEINE GARANTIE AUF VOLLSTÄNDIG- UND RICHTIGKEIT.

Zwischenstand: GentriMap

Seit rund einem Jahr arbeiten wir zusammen mit der Humboldt-Uni in Berlin an einem Projekt – genauer gesagt mit den Stadtsoziologen dort, nämlich einem Team rund um Andrej Holm. Es geht um das Thema Gentrifizierung eben in Berlin. Also die Aufwertung von bestimmten Stadtgebieten durch Sanierung von Wohnraum bzw. dessen Umwandlung in Eigentum, der Auswechslung der Wohnbevölkerung, der Wandlung der Geschäftsstrukturen usw. usf. – Für dieses Vorhaben “GentriMap” wurden bisher die verschiedensten Datensätze aus Verwaltung, Privatwirtschaft und Forschung zusammengetragen. Seit einiger Zeit verschränken wir sie nun miteinander.

Die Hauptziele von GentriMap, wie es Andrej beschreibt: “Es geht darum, die Wissenslücke zwischen einerseits Maklern, Verwaltungsangestellten etc. und den Bewohnern anderseits zu schließen. Und darum, eine valide und datenbasierte empirische Evaluation städtischer Dynamiken zu liefern. Und so Kieze zu identifizieren, auf den der Druck von Gentrifizierung lastet.”

Michael, der unserseits für die Entwicklung des geplanten Onlinewerkzeug-Sets verantwortlich ist, spricht von diesem als “einem Teilchenbeschleuniger, mit dem jeder spielen darf”. Tatsächlich geht es um Werkzeuge, mit denen jeder sich Veränderungsprozesse in der Stadt Berlin auf einfache Weise betrachten und erforschen kann. Gleichzeitig sollen die Werkzeuge aber auch erlauben, dass Soziologen ihre Theorien mit ihm überprüfen können.

Rechts sind Grafiken aus einem ersten Prototypen zu sehen. Sie zeigen die Dichte der 25 bis 35-jährigen Wohnbevölkerung – je röter um so mehr, je blauer um so weniger. Was hier schon (wenig überraschend) deutlich wird: In der (östlichen) Mitte Berlins hat sich in den letzten knapp 20 Jahren die jüngere Bevölkerung konzentriert.

Neben einer interaktiven Karte werden als Werkzeuge auch Matrizen angeboten werden, die die Entwicklung der Stadtgebiete an verschiedenen Kriterien zeigt. Unsere Hoffnung (und Vermutung): Wir werden sehen können, dass neben Gebieten wie Nord-Neukölln es auch andere Gegenden in Berlin gibt, die unbeachtet von der (medialen) Öffentlichkeit durchaus als Gentrifizierungsgebiete gelten könnten. Und vielleicht werden Aussagen möglich, in welchen Gebieten es mit Gentrifizierung losgehen könnte.

Übrigens: Wir suchen noch einen Medienparrtner, der das Werkzeug gerne in einer datenjournalistischen  Variante auf seiner Website bringen will. Falls eine Redaktion Interesse hat – bitte mit uns in Kontakt treten.

a

Tutorial: Crashkurs Excel für Datenjournalismus

Microsoft Excel ist eigentlich nur ein Tabellenkalkulationsprogramm und genau so wird es meist auch nur verwendet.

Excel ist aber in Wirklichkeit ein sehr, sehr mächtiges Werkzeug. Jede Datenjournalistin und jeder Datenjournalist sollte sich mit Excel wirklich sehr gut auskennen. Zum einen gibt es dafür viele Kurse und Anleitungen im Internet, aber es ist mindestens genau so wichtig, sich gegenseitig über die Schulter zu schauen und neue Tricks zu zeigen. Selbst ich lerne nach 15 Jahren immer wieder neue Tricks in Excel kennen, die mir jemand zeigt oder auf die man zufällig stößt.

Die wichtigsten Dinge, was man in Excel kennen sollte, sind:

  • die Excel-Funktionen
  • nutzbare Datenquellen
  • Ausgabemöglichkeiten

Excel-Funktionen

Die Hilfe in Excel enthält eine Liste alle Excel-Funktionen gruppiert nach Themengebiete. Das sollte wenigstens mal durchgeblättert werden, um sich einen groben Überblick zu verschaffen.
Die wichtigsten, die man auf jeden Fall kennen sollte, sind:

LÄNGE(Text)
gibt die Länge des Textes zurück, also die Anzahl der Zeichen.
LÄNGE(“Dingsbums “) = 9

LINKS(Text; Anzahl Zeichen)
gibt die angegebene Anzahl von Zeichen von link zurück, also z.B. die ersten 5 Zeichen.
LINKS(“Dingsbums”; 5) = “Dings”

RECHTS(Text; Anzahl Zeichen)
gibt die angegebene Anzahl von Zeichen von rechts zurück, also z.B. die letzten 4.
RECHTS(“Dingsbums”; 4) = “bums”

TEIL(Text; erstes Zeichen; Anzahl Zeichen)
gibt die angegebene Anzahl von Zeichen aus der Mitte zurück, also z.B. 2 Zeichen ab dem 3.
TEIL(“Dingsbums”; 2; 3) = “ing”

FINDEN(Suchtext; Text)
sucht nach einem Text in einem anderen und gibt die Position zurück:
FINDEN(“bum”; “Dingsbums”) = 6

WECHSELN(Text; alter Text; neuer Text)
ersetzt innerhalb eines Textes alle Vorkommen von „alter Text“ durch „neuer Text“
WECHSELN(“Dingsbums”; “s”; “el”) = “Dingelbumel”

Read More…

Tutorial: Erste Schritte mit regulären Ausdrücken

Reguläre Ausdrücke 
(regular expressions, RegExp, RegEx, Grep, …)

Viele Aufgaben eines/r Datenjournalist/in kann man mit „Suchen und Ersetzen“ lösen, z.B. in Microsoft Word.

Für komplexere „Suchen und Ersetzen“ gibt es die sogenannten „regulären Ausdrücke“. Diese werden von Microsoft Word leider nicht unterstützt, aber in vielen einfachen Texteditoren, wie z.B. in den kostenlosen OpenSource-Anwendungen TextWrangler für Mac oder Notepad++ für Windows.

Wie man mit „Suchen und Ersetzen“ einen Text bereinigen kann, werde ich nun an einem Beispiel demonstrieren. Dafür habe ich eine Liste gewählt, in der alle Leerzeichen fehlen. Diese Phänomen tritt in der Arbeit öfters auf, z.B. weil der Text mit einer OCR-Software (Bild-zu-Text-Erkennung) erstellt oder aus einem PDF-Dokument kopiert wurde. Hier ein Beispiel; die Liste der ehemaligen Bundespräsidenten der BRD kopiert von der entsprechenden Wikipedia Seite.

 TheodorHeuss(1884–1963)
 HeinrichLübke(1894–1972)
 GustavHeinemann(1899–1976)
 WalterScheel(*1919)
 KarlCarstens(1914–1992)
 RichardvonWeizsäcker(*1920)
 RomanHerzog(*1934)
 JohannesRau(1931–2006)
 HorstKöhler(*1943)
 ChristianWulff(*1959)
 JoachimGauck(*1940)

 

Als erstes kann man alle „(“ ersetzen durch ein Tab, dass von Excel als Spaltenwechsel interpretiert wird.

In Word: ersetze „(“ durch „^t“
Als regulärer Ausdruck: ersetze „\(“ durch „\t“

 TheodorHeuss            1884–1963)
 HeinrichLübke           1894–1972)
 GustavHeinemann         1899–1976)
 WalterScheel            *1919)
 KarlCarstens            1914–1992)
 RichardvonWeizsäcker    *1920)
 RomanHerzog             *1934)
 JohannesRau             1931–2006)
 HorstKöhler             *1943)
 ChristianWulff          *1959)
 JoachimGauck            *1940

 

Nun die schließenden Klammern entfernen.

In Word: ersetze „)“ durch „“
Als regulärer Ausdruck: ersetze „\)“ durch „“

 TheodorHeuss            1884–1963
 HeinrichLübke           1894–1972
 GustavHeinemann         1899–1976
 WalterScheel            *1919
 KarlCarstens            1914–1992
 RichardvonWeizsäcker    *1920
 RomanHerzog             *1934
 JohannesRau             1931–2006
 HorstKöhler             *1943
 ChristianWulff          *1959
 JoachimGauck            *1940

 

Nun die Minuszeichen durch einen Tab ersetzen.

In Word: ersetze „-“ durch „^t“
Als regulärer Ausdruck: ersetze „\-“ durch „\t“

 TheodorHeuss            1884   1963
 HeinrichLübke           1894   1972
 GustavHeinemann         1899   1976
 WalterScheel            *1919
 KarlCarstens            1914   1992
 RichardvonWeizsäcker    *1920
 RomanHerzog             *1934
 JohannesRau             1931   2006
 HorstKöhler             *1943
 ChristianWulff          *1959
 JoachimGauck            *1940

 

Nun die Mal-Zeichen entfernen.

In Word: ersetze „*“ durch „“
Als regulärer Ausdruck: ersetze „\*“ durch „“

 TheodorHeuss            1884   1963
 HeinrichLübke           1894   1972
 GustavHeinemann         1899   1976
 WalterScheel            1919
 KarlCarstens            1914   1992
 RichardvonWeizsäcker    1920
 RomanHerzog             1934
 JohannesRau             1931   2006
 HorstKöhler             1943
 ChristianWulff          1959
 JoachimGauck            1940

 

Die Daten sind nun schon sehr gut strukturiert, aber die Namen sind noch nicht korrekt. Vor- und Nachnamen „kleben“ noch aneinander. Man müsste nach jeden Kleinbuchstaben, auf den ein Großbuchstabe folgt, ein Leerzeichen setzen. Solch eine Aufgabe lässt sich nicht mehr mit einem einfachen „Suchen und Ersetzen“ lösen. Theoretisch müsste man jede Kombination von Klein- und Großbuchstaben suchen. Mit Microsoft Word kommt man hier nicht mehr weiter, aber mit regulären Ausdrücken.

Als regulärer Ausdruck: ersetze „([a-z])([A-Z])“ durch „\1 \2“

 Theodor Heuss           1884  1963
 Heinrich Lübke          1894  1972
 Gustav Heinemann        1899  1976
 Walter Scheel           1919
 Karl Carstens           1914  1992
 Richardvon Weizsäcker   1920
 Roman Herzog            1934
 Johannes Rau            1931  2006
 Horst Köhler            1943
 Christian Wulff         1959
 Joachim Gauck           1940

 

Durch den oben verwendeten regulären Ausdruck werden beliebige Kombinationen aus Klein- und Großbuchstaben gefunden:

    (

[a-z]

)    

    (

[A-Z]

)    

ein beliebiger
Kleinbuchstabe

ein beliebiger
Großbuchstabe

 1. Teil in Klammern

 2. Teil in Klammern

 

Wenn etwas gefunden wird, wird es ersetzt durch:

\1

\2

Was im 1. Teil in
Klammern gefunden wurde.

 Leerzeichen

   Was im 2. Teil in
Klammern gefunden wurde.

 

Reguläre Ausdrücke sind scheinbar kompliziert, aber auch hier ist alles eine Frage der Übung! Wenn man einmal damit anfängt, hat man schnell die ersten Erfolgserlebnisse und lernt dann kontinuierlich weitere Tricks dazu. Aber den ersten Schritt muss man erst einmal machen, und zwar einfach mal nach „Regulären Ausrücken“ googeln und sich die vielen Einführungskurse anschauen, etwa diesen hier.

Hier ein paar weitere Beispiele:

So findet man in einem Text automatisch Internet-Adressen aus Deutschland

http\:\/\/

[a-z0-9\-\.]+

\.de

http:\\

    Beliebige Kombination aus Kleinbuchstaben,
Zahlen, Minuszeichen und Punkten

.de

 

So findet man in einem Text automatisch E-Mail-Adressen

[a-z0-9\-\.]+

       \@       

[a-z0-9\-\.]+

Beliebige Kombination aus
Kleinbuchstaben, Zahlen,
Minuszeichen und Punkten

       @

Beliebige Kombination aus
Kleinbuchstaben, Zahlen,
Minuszeichen und Punkten

 

So findet man automatisch 4- und 5-stellige Zahlen, z.B. Postleitzahlen

\s

[0-9]

{4,5}

\s

 Leerzeichen

 eine beliebige Ziffer

… und zwar eine Kombination
aus mindestens 4 und maximal 5

 Leerzeichen

 

Dieser Text von Michael Kreil steht unter einer Creative Commons-Lizenz (CC BY 3.0 Michael Kreil)

[Siehe auch: Unser Tutorial zu Excel)

Farmsubsidy.org & OpenDataCity join forces for the Knight News Challenge

Who are the beneficiaries of the almost €60 billion annual EU subsidies to farmers and the agro-industry? Since 2004 the farmsubsidy.org team has been working to obtain data about the beneficiaries and make them accessible to the European public. But making 12 GB of data accessible in a meaningful way needs more than award winning journalists and excellent analysts.

So now Farmsubsidy.org joins forces with OpenDataCity a German award winning datajournalism team. OpenDataCity specialises in data-storytelling based upon large datasets.

Together we have given our bid for the Knight Challenge. We intend to develop a tool which makes the Farmsubsidy datasets – 12 years and 27 countries – easily searchable and visible. This will become an EU Transparency Tool which also will be available for other large datasets concerning EU data, such as the structural funds, fisheries subsidies, R&D subsidies and so on.

Please support our application here.

Background:

Farmsubsidy.org was founded in 2005 by journalists Brigitte Alfter and Nils Mulvad and political analyst Jack Thurston. The common aim was to shed light on the beneficiaries of the EU agricultural policy. For decades this policy had been carried out under the same aim written up in the after-war years and without the public being able to follow how it actually functioned.

Since the first data sets were made available in 2004 and the following years, the public debate could focus on the actual money flows rather than just political speeches. Numerous media reports and several books on the subject have used Farmsubsidy data.

Read more on OpenDataCity here.

Prototyp S- und U-Bahnmonitor Berlin

Heute am 6.6.2012 ging der 2. Berliner Open Data Day (BODDy) über die Bühne. Das Thema fasst erfreulicherweise langsam aber sicher Fuß in Berlin. Um den Komplex anschaulich zu machen, haben wir uns gestern ein paar Stunden Zeit genommen und den Zugmonitor recycelt. Prototypisch zeigen wir die meisten S- und U-Bahnzüge in Berlin, wie sie laut Fahrplan am 5.6.2012 gefahren sind (keine Live-Daten, keine Verspätungen).

Die Anwendung findet sich hier. Bitte in einem neueren Browser öffnen (Firefox, Chrome, Safari), etwas Geduld haben und wenn etwas hakt: bitte die Seite neu laden.

Wir denken, dass mit ÖPNV-Daten – stünden sie als Open Data (Fahrplan, Positionen etc.) zur Verfügung – enorm interessante Dinge geschehen könnten. Unser Prototyp soll eine Ahnung davon vermitteln.Wir freuen uns über Feedback (info-at-opendatacity.de).

Viel Dank geht an Sven K. und Michael K. für ihren Einsatz gestern.

Wir sind zweimal für den Grimme Online Award 2012 nominiert

Heute wurden in Düsseldorf die Nominierungen für den Grimme Online Award 2012 bekannt gegeben. OpenDataCity ist gleich zweimal dabei: Einmal zusammen mit der taz für die Parteispendenanwendungen (s.u.). Und zum zweiten zusammen mit süddeutsche.de für den Zugmonitor - beidesmal in der Kategorie “Wissen & Bildung”.

Wir sind begeistert – durch die zweifache Nominierung fühlen wir uns bestätigt: Datenjournalismus ist gekommen, um zu bleiben. Bereits vergangenes Jahr wurden wir mit Zeit Online zusammen für die Vorratsdatenanwendung ausgezeichnet.

Übrigens haben wir vor kurzem für die Parteispendenanwendungen (Karte & Recherchetool) bei der taz die Daten für 2010 eingepflegt. Nachgeschoben haben wir jetzt auch noch eine überarbeitete Fassung der Karte. Zum einem haben wir das Farbschema überholt, aber auch die Tabs (Reiter) oben umstrukturiert, um die Daten übersichtlicher zugänglich zu machen. Hier gibt es ein großes Bild des rechtsstehenden Vergleichs.

Interview zum Zugmonitor auf der re:publica 12

Zweiter Tag der re:publica Netzkonferenz 2012 in Berlin: Philip Banse interviewte für dctp.tv Stefan Plöchinger (süddeutsche.de) und Lorenz Matzat (OpenDataCity) rund 20 Minuten zum Zugmonitor. Es ging darum, wie das Projekt zustande kam und wie es bei der SZ implementiert wurde.

Link zum Beitrag bei dctp.tv

Newthinking und OpenDataCity vereinbaren Zusammenarbeit

Seit einiger Zeit waren wir in Gesprächen mit newthinking. Die Agentur aus Berlin, die die re:publica mit ausrichtet und aus deren Dunstkreis auch netzpolitik.org kommt, sind für uns Wunschpartner.

Deswegen freuen wir uns, dass wir dieser Tage eine weitreichende Zusammenarbeit vereinbart haben. So liest sich das bei newthinking:

Kooperation

Open Data City und newthinking haben eine weit reichende Partnerschaft vereinbart. Beide Unternehmen erweitern durch diese gemeinsame, strategische Kooperation ihr Produktportfolio und vergrößern somit ihre Reichweite.
“Durch diese Kooperation erweitern wir unser Produktportfolio und vergrößern somit die Reichweite.
Mit Open Data City und newthinking ist man gewappnet für große Datensätze (Big Data) und Daten der öffentlichen Hand (Open Data). Unsere Expertise und innovative Herangehensweisen bündeln wir gern – zum Vorteil unserer Kunden und Partner
“, sagte heute Lorenz Matzat (Open Data City).

Open Data City ist eine Agentur für Datenvisualisierung mit den Schwerpunkten Beratung, Schulung und Data Intelligence. Bekannte Projekte von Open Data City sind zum Beispiel der Zugmonitor oder die Fluglärmkarte BBI.www.opendatacity.de

Seite 1 von 212