微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

聚合来自多个具有相同结构的excel文件的数据

如何解决聚合来自多个具有相同结构的excel文件的数据

我准备了一份调查问卷,收件人必须填写一个 excel 文件。我现在有一百个结构相同但条目不同的excel文件。例如,对于recipient_b,我们有:

enter image description here

每个 Excel 文件都以收件人命名。例如:recipient_a_survey.xlsx;收件人_b_survey.xlsx 等

我想获得这样的数据框:

Name         birth_place birth_date domicile
recipient_a  London      21/04/1965 London
recipient_b  Manchester  19/02/1985 London
recipient_c  Glasgow     14/08/1991 Edinburgh
...

有什么奇特的方法吗?一种也适用于 excel 列表的方法

解决方法

您可以使用 list.files 创建要读取的 excel 文件向量,将它们转置并将它们绑定到一个对象 (result) 中。

library(tidyverse)

file_list <- list.files('folder/of/excelfiles',pattern = '\\.xlsx$',full.names = TRUE)

map_df(file_list,~{
  df <- readxl::read_excel(.x)
  df %>%
    mutate(col = c('domicile','birth_date','birth_place')) %>%
    select(-a) %>%
    pivot_wider(names_from = col,values_from = b) %>%
    mutate(Name = tools::file_path_sans_ext(basename(.x)),.before = 1)
}) -> result

result

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。