前言
有时候数据格式是xlsx的,内部含有多个sheet表格,如果直接转换成csv的话非常费时。如果想批量处理文件(或者装个逼),这样就需要用到R了。
多种方案
使用rio包一次性读取到data list中
> library(rio)
> BPD_Data_List
+ import_list("Phytoplankton_BPNS1968-_abiotics_biovolumes.xlsx")
New names:
* `` -> ...3
There were 50 or more warnings (use warnings() to see the first 50)
> summary(BPD_Data_List)
Length Class Mode
values_phyto 13 data.frame list
phyto_meta 3 data.frame list
biovolumes 4 data.frame list
values_abiotic 10 data.frame list
abiotic_meta 2 data.frame list
samples 8 data.frame list
samples_meta 2 data.frame list
methods 14 data.frame list
methods_meta 2 data.frame list
sources 10 data.frame list
sources_meta 2 data.frame list
使用tidyverse包一次性读取到data list中
> library(tidyverse)
> BPD_Data_List
+ import_list("Phytoplankton_BPNS1968-_abiotics_biovolumes.xlsx", setclass = "tbl")
New names:
* `` -> ...3
There were 50 or more warnings (use warnings() to see the first 50)
> summary(BPD_Data_List)
Length Class Mode
values_phyto 13 tbl_df list
phyto_meta 3 tbl_df list
biovolumes 4 tbl_df list
values_abiotic 10 tbl_df list
abiotic_meta 2 tbl_df list
samples 8 tbl_df list
samples_meta 2 tbl_df list
methods 14 tbl_df list
methods_meta 2 tbl_df list
sources 10 tbl_df list
sources_meta 2 tbl_df list
如果每个表格都是统一格式的话,可以直接rbind
data_list
使用readxl
library(readxl)
#定义函数 read_excel_allsheets()
read_excel_allsheets
sheets
x
if(!tibble) x
names(x)
x
}
#函数使用方法:
mysheets
This article is under CC BY-NC-SA 4.0 license.
Please quote the original link:/article/794.html
r导入excel数据 linux R语言中使用rio读取xlsx格式Excel文件|多个sheet表格|tidyverse rbind XLConnect readxl...
如果觉得《r导入excel数据 linux R语言中使用rio读取xlsx格式Excel文件|多个sheet表格|tidyver》对你有帮助,请点赞、收藏,并留下你的观点哦!