Ниже приведен пример преобразования одной книги xlsx в несколько файлов CSV. Обратите внимание, что преобразование типов не обязательно будет правильным.
xlsx_path <-"path_to_xlsx.xlsx"
sheet_names <- readxl::excel_sheets(xlsx_path)
# read from all sheets to a list of data frames
xlsx_data <- purrr::map(
sheet_names,
~readxl::read_excel(xlsx_path,.x,col_types = "text",col_names = FALSE)
)
# write a list of data frame to csv files
purrr::walk2(
xlsx_data,sheet_names,
~readr::write_csv(.x,paste0(xlsx_path,"-",.y,".csv"),col_names = FALSE)
)
# csv files will be saved as:
# path_to_xlsx-sheet1.xlsx, path_to_xlsx-sheet2.xlsx, ...
Если вам нужно применить эту функцию ко многим файлам xlsx. Используйте list.files()
, чтобы получить путь ко всем файлам xlsx. И напишите цикл for или используйте другую функцию map для итерации этого процесса.