现在,我使用了xslx2csv
工具,该工具在关于stackoverflow的类似问题的其他答案中也看到过,并在终端中运行代码:xlsx2csv --all file.xlsx
。但是,所有操作只是在我的终端中将xlsx
文件的所有工作表打印为csv
,而不是在当前目录的每张工作表中创建单独的csv
文件。
这应该很简单,但是我找不到简单的答案。
我该如何解决?所有帮助非常感谢!
答案 0 :(得分:0)
自seem to be using R以来,这里是一个基于R的解决方案。您需要{readxl},{purrr}和{readr}软件包。我正在“命名”所有功能,所以您知道它们的来源。 我正在使用{readxl}中的示例Excel文件。
path_to_xlsx <- readxl::readxl_example("datasets.xlsx")
此Excel文件有4张纸。表格的名称由excel_sheets
读取。
sheet_names <- readxl::excel_sheets(path_to_xlsx)
现在,我们将所有excel工作表导入一个列表。
sheets <- purrr::map(sheet_names, ~ readxl::read_excel(path_to_xlsx, sheet = .x))
我们得到4个数据帧或小标题的列表。我们命名吧。
base::names(sheets) <- sheet_names
现在,一次性将列表中的所有小标题导出到单独的CSV。
purrr::iwalk(sheets, ~ readr::write_excel_csv2(x = .x, path = paste0(.y, ".csv")))
list.files(pattern = "\\.csv$")
#> [1] "chickwts.csv" "iris.csv" "mtcars.csv" "quakes.csv"