簡體   English   中英

將多個Excel工作表轉換為單獨的csv文件

[英]Convert multiple Excel sheets into separate csv files

現在,我使用了xslx2csv工具,該工具在關於stackoverflow的類似問題的其他答案中也看到了,並在終端中運行代碼: xlsx2csv --all file.xlsx 但是,所有xlsx就是在我的終端中將xlsx文件的所有工作表打印為csv ,而不是在當前目錄的每張工作表中創建單獨的csv文件。

這應該很簡單,但我找不到簡單的答案。

我該如何解決? 所有幫助非常感謝!

由於您似乎正在使用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個data.frames或tibbles的列表。 讓我們命名它們。

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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM