2016-07-20 17 views
-1

Ich möchte 50 xlsx-Dateien in R importieren mit jedem ist ein einzelner Datenrahmen, so dass ich für die nachgelagerte Berechnung einzeln für Schleife.r für Schleife zu xlsx-Dateien in einzelnen Datenrahmen zu importieren

Import:

1.name_input.xlsx 
2.name_input.xlsx 
3.name_input.xlsx 
4.name_input.xlsx 
. 
. 
. 
50.name_input.xlsx 



listy <- list.files(path = "./",pattern = "*.xlsx", full.names = FALSE,recursive = TRUE) 

for (i in 1:length(listy)) { filename=listy[i] data=read.xls(file = i,header=TRUE) assign(x=filename,value = data)} 

Aber es funktioniert nicht, so gibt es andere Methoden, um es zu arbeiten?

Vielen Dank.

+0

Ist es ein Tippfehler? Sollte Muster = "* .xlsx"? – Marichyasana

+0

Tippfehler in diesem Beitrag. Mein Befehl funktioniert nicht. –

+0

@Marichyasana können Sie mir helfen? –

Antwort

2

Sie können lapply() in Verbindung mit read_excel() vom readxl Paket verwenden in jeder Datei in der Liste der Dateien zu lesen

require(readxl) 

listy <- list.files(path = "./",pattern = "*.xlsx", full.names = FALSE,recursive = TRUE) 

all_data <- lapply(listy,read_excel) 

Das resultierende all_data Objekt eine Liste sein wird, wo jedes Listenelement ein entspricht Datei in listy