Как перебрать файлы CSV в каталоге и вывести их в виде файлов RDS - PullRequest
0 голосов
/ 25 февраля 2019

Это код, который у меня есть сейчас, я получаю сообщение об ошибке, что fd не определен, я пытался определить его как fd = data.frame (), но он не работает.

Код:

file<-list.files(pattern=".csv$")  
#file creates a list of csv file names 

for (i in seq_along(filenames))

{
 fd[i]<- read.csv(file[i]) 

#read each csv file
output=c("o1.RDS","o2.RDS","o3.RDS")

#save each csv file as RDS every iteration, 
#with the name as specified in the vector output.

saveRDS(fd[i],file =output[i])     

}

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Вы пытались определить fd как список?

fd <- list()

Также в приведенном выше примере у вас есть ошибка.Это должны быть «имена файлов», а не «файл».

Вот результат, который работал для меня:

fd <- list()

file <- list.files(pattern=".csv$")  
#file creates a list of csv file names 

for (i in seq_along(file))

{
        fd[i]<- read.csv(file[i]) 

        #read each csv file
        output = c("o1.RDS","o2.RDS","o3.RDS")

        #save each csv file as RDS every iteration, 
        #with the name as specified in the vector output.

        saveRDS(fd[i], file = output[i])     

}
0 голосов
/ 25 февраля 2019

Вы можете сделать что-то подобное, хотя это не проверено, потому что у меня нет папки .csv файлов на данный момент:

library(tidyverse)

files <- list.files("./", pattern = ".csv")

map(files, ~read_csv(.x) %>% 
      write_rds(path = paste0("YOUR/PATH/HERE", basename(.x), ".rds")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...