Hej Leute,

heute möchte ich Euch erklären, wie ihr mit Hilfe des R-Packages tabulizer Tabellen aus pdfs auslesen könnt, um sie dann als dataframe weiter zu bearbeiten.

 

Klingt erstmal vielleicht nicht so spannend, ist aber ziemlich nützlich. Stellt Euch vor, es gibt monatlich einen Bericht, der auf einer Website veröffentlicht wird und ihr wollt Tabelle daraus auslesen, um sie in Eurem eigenen Bericht zu verwenden oder einfach in eine Datenbank speichern, um die Daten für ein interaktives Dashboard bereit zu stellen. Jetzt könnt ihr jeden Monat den Bericht downloaden und die Zahlen in eine Exceltabelle abtippen oder ihr lest einfach weiter 😉

 

Wie oben schon gesagt, brauchen wir zum Auslesen das Package tabulizer. Jetzt gibt es das Package noch nicht auf CRAN (dem offiziellen R-Package-Server), sondern nur auf Github. Kein Problem, denn auch für die einfache Installation von Github-Packages gibt es ein Package, nämlich devtools. Also installieren wir das zuerst und können dann das tabulizer-Package installieren

Und jetzt kann es losgehen:

Jetzt sind alle Tabellen, die in dem pdf enthalten sind, als Liste ausgelesen. Nun interessiert uns die 2. Tabelle und durch den Seitenumbruch auch noch die 3.

Der dataframe ist durch das etwas komische Format noch nicht wirklich brauchbar. Wir nehmen die Spaltennamen und der 1. & 2.Zeile, löschen die überflüssigen Zeilen und entfernen den Dezimalpunkt, den der wird in R als Komma interpretiert.

Fertig zur Verwendung. Um das Ganze noch eleganter zu machen, überführen wir den dataframe von einem Querdatensatz (jede Spalte eine Variable) in einen Längsdatensatz/Kontenmodell (eine Spalte mit Variablennamen, eine mit dem zugehörigen Wert). Ob man das machen will, hängt einfach von der weiteren Verwendung ab.

Ich hoffe, ihr konntet was für euch mitnehmen.

Genießt das schöne Wetter heute,
Euer Holger