Трудно понять без воспроизводимого примера. Что произойдет, если вы попытаетесь сделать read.xlsx(files.to.read[1], sheetIndex=1)
?
Если это сработает, вы достаточно близки.
dir.create("your_folder_name")
files.to.read = list.files(pattern="xlsx")
lapply(files.to.read, function(f) {
df = read.xlsx(f, sheetIndex=1)
# Make the new filename here
new_filename = file.path(getwd(), "your_folder_name", gsub("xlsx", "csv", f))
write.csv(df, new_filename , row.names=FALSE)
# provide some feedback
print(paste("Writing", new_filename))
}
)
Возможно, ваша команда list.files()
испытывает проблемы. Если предыдущий сбой, попробуйте:
# Mind the full.names=TRUE to get the full path
files.to.read = list.files(pattern="xlsx", full.names=TRUE)
и избавиться от строки new_filename
. Вам не нужно создавать его с помощью file.path
, просто используйте команду gsub
, как вы это делали.