【问题标题】:How to compile multiple csv files into a single xlsx file using R and name each tab after csv file name?如何使用 R 将多个 csv 文件编译成一个 xlsx 文件并在 csv 文件名之后命名每个选项卡?
【发布时间】:2021-08-09 22:50:50
【问题描述】:

假设我在一个名为 Path 的目录中有许多 csv 文件:

abc.csv
def.csv
xyz.csv

如何将这些文件编译为单个 xlsx 文件,其中每个 csv 都成为以 csv 文件名命名的自己的选项卡?下面的函数是从上一篇文章中推荐的,效果很好,我只需要以正确的 csv 命名选项卡:

# set wd to appropriate directory
list.files(pattern = "*.csv") %>% 
  map(., ~read_csv(.)) %>% 
  write.xlsx(., "My Multi-tabbed File.xlsx")

【问题讨论】:

    标签: r csv


    【解决方案1】:

    您可以尝试这样的方法,根据 csv 文件名(. 之前)命名列表元素,然后将其作为工作表名称...

    library(tidyverse)
    library(openxlsx)
    
    filelist <- list.files(pattern = "*.csv") 
    
    filelist %>% 
      map(read_csv) %>% 
      set_names(str_remove(filelist, "\\..+")) %>%
      write.xlsx("My Multi-tabbed File.xlsx")
    

    【讨论】:

    • 这很棒。我将如何按字母顺序排列我的标签?我可以按字母顺序对文件列表进行排序然后运行吗?
    • @R.Baratheon 是的,你可以这样做filelist = sort(list.files(...))
    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 2021-04-07
    • 2021-12-03
    • 2019-01-05
    • 1970-01-01
    • 2018-01-13
    • 2014-05-17
    • 1970-01-01
    相关资源
    最近更新 更多