[R] Reading some csv files from different folders and add the name of each files to the first column of files
Arnaud Mosnier
a.mosnier at gmail.com
Mon Jul 27 01:04:23 CEST 2015
Hi Lida,
You can try this:
d<- choose.dir() # choose the folder with the subdirectories containing the
csv files
f <- list.files(d, full.names = TRUE, recursive = TRUE)
# Here the example for the "sing" files
selsing <- grep("sing",f) #Select the files notaining the word sing
allsing <- data.frame() #Create an empty data frame
# Loop among the selected files
for (i in 1:length(f[selsing])){
dat <- read.csv(file=f[selsing][i]) # suppose that the csv files have a
header
allsing <- rbind(allsing,data.frame(FileID =
gsub("EA_sing_|.txt","",basename(f[selsing][i])), dat)) #Combine the file
ID with the other columns and add the result to the all sing object
}
Now, you just have to do it for the other cases and save your final object.
Hope this help !
Arnaud
###########################################################################
Date: Sat, 25 Jul 2015 15:03:21 -0500
From: Lida Zeighami <lid.zigh at gmail.com>
To: r-help at r-project.org
Subject: [R] Reading some csv files from different folders and add the
name of each files to the first column of files
Message-ID:
<CAMqbV1CXN0=R+HxmaYS40sMymGdbhDQK1V+n5bHmBPgBr3M2Yg at mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
I have 600 folders in which there are 3 csv files. The name of folders are
as follows: EA_aa, EA_bb, EA_cc, EA_dd,....
In each folder there are 3 csv files:
in folder EA_aa there are:
EA_sing_aa.csvqwerty
EA_ska_aa.csv
EA_tat_aa.csv
In folder EA_bb:
EA_sing_bb.csv
EA_ska_bb.csv
EA_tat_bb.csv
...
I need to read all the same kind of files (for example sing files) in one
dataframe but before that I should add a column to each files with the name
of file as a row names!
So in output I should have just 3 csv files such as
EA_sing.csv: (rbind all EA_sing_*.csv file)
EA_ska.csv: (rbind all EA_ska_*.csv files)
EA_tat.csv: (rbind all EA_tat_*.csv files)
And in each file the first column should be added as row names which
containing the file name! So the format will be as follow:
EA_sing.csv:
1st column 2nd column 3rd column
aa yhhh ghj
aa k ki Fyh
bb k ki vgd
bb k gki Fyh
bb k reci Fyh
cc k hcd hyd
dd lmb Fyh
EA_ska.csv:
1st column 2nd column 3rd column
aa yhhh ghj
aa k ki Fyh
bb k ki Fyh
cc k gki Fyh
cc k reci oki
cc k hcd Fyh
dd lmb dsf
EA_tat.csv:
1st column 2nd column 3rd column
aa yhhh ghj
aa k ki Fyh
bb k ki Fyh
cc k gki Fyh
cc k reci oki
dd k hcd Fyh
dd lmb dsf
Would you please help me how to can I do that?
Thanks
[[alternative HTML version deleted]]
More information about the R-help
mailing list