2016-08-30 2 views
0

Hallo Ich versuche, einen einzelnen Datenrahmen mit mehreren CSV-Dateien aus einem Ordner zu erstellen, die aktualisiert/hinzugefügt werden.Aktualisieren/mehrere CSV-Dateien in einzelne Datenrahmen

Ich habe vorherige Antworten auf hier aber ich

einen ziemlich einfachen Fehler habe

Fehler in read.table (file = Datei, header = Header, sep = sep, quote = Zitat: ' Datei‘muss eine Zeichenkette oder eine Verbindung sein

dir<-"asdfasdfasdfasf/asdfasdfs" #change this to your directory 

temp <- list.files(pattern="*.csv") 
importDM<-lapply(temp, read.csv) 

rawDM<-read.csv(importDM, header = TRUE)  #will read csv 

Bitte lassen Sie mich wissen, was ich tue, falsch!

Cheers,

+1

'do.call (rbind, lapply (temp, read.csv, header = TRUE))' sollte funktionieren. 'importDM' ist eine Liste, keine Zeichenkette; deshalb gibt dir die letzte Zeile einen Fehler. –

Antwort

1

Von dem, was ich im Aufruf der Funktion list.files sehe, sollten Sie den Pfadparameter hinzufügen und "dir" zuweisen. Die Variable ImportDM ist eine Liste und die RawDM-Variable ist nicht notwendig, da Sie in lapply bereits read.csv aufgerufen haben. Wenn die Dateien die gleiche Datenstruktur haben, können Sie ImportDM in einen Datenrahmen mit as.data.frame konvertieren. Wenn die Listenelemente nicht der gleichen Struktur folgen, ist es ein bisschen mehr Arbeit.

Dies ist ein funktionierendes Beispiel mit drei CSV-Dateien.

dir <-"./data" #change this to your directory 
    temp <- list.files(pattern="*.csv", path = dir, full.names = TRUE) 
    importDM<-lapply(temp, read.csv, header = FALSE) 
    df <- as.data.frame(importDM) 

Jede CSV-Datei enthält drei Zahlen (1,2,3 - 4,5,6 - 7,8,9)

+0

Danke Valter, das hat es geschafft! –

+0

Froh, dass es geholfen hat! –

0

dieses Versuchen:

temp <- list.files(pattern="*.csv") 

dataset <- do.call(rbind,lapply(temp, 
read.csv,header=TRUE)) 
0

Dies tun sollten it -

dir<-"asdfasdfasdfasf/asdfasdfs" #change this to your directory 
temp <- list.files(pattern="*.csv") 
importDM<-lapply(temp, read.csv) 
rawDM <- do.call(rbind, lapply(raw, read.csv, header = TRUE)) 
Verwandte Themen