R语言的表格合并(实际运用)
是这样的,工作中我需要处理两个表格。要把两个表格合并,展示下两个表格的
部分数据和格式。
我需要做的是把两个表合并,变成3列,日期,男,女。需求就是这个,
观察下,这边有的日期,另一边可能没有。
然后我就手工合并,因为数据不是很多,但也不是很少。手动了两行,我发现不行,不但效率低,而且准确率也不可信。就想到之前工作学过R语言,就用R做吧。
R语言处理表格数据还是很牛逼哄哄的。(强烈推荐哦)
首先引入所需要的的R包
pacman::p_load(dplyr, magrittr, readxl, openxlsx)
setwd("D:/project/R-use/test/excel/data")
都是常用R包。顺便设置加工作路径,少写点路径字符串。
然后合并两个表格
result <- "testf.xlsx" %>%
read_excel() %>%
full_join("testm.xlsx" %>% read_excel(), by = "date") %>%
arrange(date)
使用管道符果然写的很爽,这里我们的需求是要全连接的,然后排序一下。都是dplyr包的函数
最后导出excel大功告成
result[is.na(result)] <- 0
write.xlsx(result, "result.xlsx")
这里把空的地方用0替换。
算了下八行代码就搞定了。
如果想要学习处理表格数据,建议学一下R语言。好用的一p,
对办公说不定有巨大的帮助。
多表格合并例子
##加载包
pacman::p_load(dplyr, magrittr, readxl, openxlsx, tidyverse)
## 文件架目录
dirPath <- "E:/eProject/R_DEMO/com/excel/"
##读取xls后缀的文件
files <- dirPath %>% list.files(pattern = "*.xlsx", full.names = TRUE)
##将多excel的sheet1表格根据‘车架号’列合并 ,采用方式全连接
result <- map(files, read_excel, sheet = 1, col_names = TRUE) %>%
reduce(full_join, by = "车架号")
##将空值设为''
result[is.na(result)] <- ''
##写表格
write.xlsx(result, "result.xlsx")