Excel-Dateien mit R einlesen
|

Excel-Dateien in R einlesen

Excel-Dateien sind weit verbreitet Format und viele Menschen sind es gewohnt, Daten in Excel-Tabellen zu bearbeiten und zu speichern. Somit ist es vorteilhaft, wenn wir die entsprechenden Formate xls und xlsx einlesen können. In diesem Post zeige ich, wie man Excel-Dateien in R einlesen kann.

Excel nach CSV exportieren und in R einlesen

Kurz vorab: Es gibt natürlich die Möglichkeit einen „Umweg“ zu gehen und die Daten aus Excel heraus als CSV zu exportieren. Dies kann nützlich sein, wenn wir kein zusätzliches Package installieren und die Daten ganz einfach aus einer CSV-Datei einlesen möchten. Dies können wir mit read.csv (base R) bzw. fread (data.table) tun (siehe auch diesen früheren Post).

Mit readxl Excel-Dateien in R einlesen

Wenn wir Excel-Dateien in R einlesen möchten, können wir das Package readxl installieren und anschließend mit library einlesen.

install.packages("readxl")
library(readxl)

Die Funktion zum Einlesen der Daten heißt read_excel.

scores <- read_excel("scores.xlsx", sheet=1)
gdp <- read_excel("economic_data.xls", sheet="worldGDP")

Wir sehen: Das Einlesen funktioniert ganz leicht mit einem Einzeiler. Zuerst geben wir den Dateipfad an, mit dem sheet-Parameter geben wir an, welches Tabellenblatt eingelesen werden soll. Beachte, dass dies sowohl eine Position sein kann (im Beispiel die erste Zeile), oder der Name des Blatts (zweite Zeile).

Parameter für read_excel

Die Funktion read_excel hat u.a. folgende Parameter:

  • path: der Dateipfad der Datei, die eingelesen werden soll
  • sheet: wie bereits beschrieben, entweder die Position oder der Name des Tabellenblatts
  • col_names: eine Selektion der Spalten, sofern Spaltennamen vorhanden sind
  • col_types: die Datentypen der Spalten können hiermit explizit angegeben werden
  • range: eine Auswahl der Zellen, in Excel-Schreibweise (z.B. „B5:D12“)

Mit xlsx Excel-Dateien in R einlesen

Eine weitere Möglichkeit, Excel-Dateien in R einzulesen, ist, das Package xlsx zu nutzen. Der Nachteil hier ist, dass du Java installiert haben musst (wohingegen readxl nicht von Java abhängig ist). Der Vorteil hingegen ist, dass du Excel-Dateien auch schreiben kannst. Der Code zum Einlesen von xlsx-Dateien ist denkbar einfach:

data <- read.xlsx2("data.xlsx", sheetIndex=1, header=TRUE)

Mit R Excel-Dateien schreiben

Wie bereits erwähnt, kann man mit dem Package xlsx Excel-Dateien schreiben. Hier ein einfaches Beispiel:

df <- data.frame(name=letters[1:10], score=rnorm(10, 10, 1))
write.xlsx(df, "scores.xlsx", sheetName="scores")

Das wars für heute. Viel Erfolg beim Lesen und Schreiben von Excel-Dateien!
Wenn du weitere Fragen hast, schreib gerne einen Kommentar oder eine E-Mail.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.