如何从R语言列表中提取data frame并按原有名称命名保存
实现步骤
第一步:给列表元素绑定原有名称
你当前构建的weathers列表默认没有存储元素对应的原始对象名,需要先补充名称信息,两种实现方式:
- 构建列表时直接指定名称:
weathers <- list(France = France, Greece = Greece) - 已有列表后续补名:
names(weathers) <- c("France", "Greece")
第二步:批量导出独立文件
提供两种常用实现方案:
方案1:tidyverse生态(purrr包),代码更简洁
# 加载依赖包 library(purrr) # 批量导出为CSV格式,文件名对应原有对象名 iwalk(weathers, ~ write.csv(.x, file = paste0(.y, ".csv"), row.names = FALSE))
代码说明:
.x指代列表中的每个数据框对象,.y指代对应元素的名称,你可以根据需求替换导出函数:
- 保存为R原生格式(保留所有数据属性):替换
write.csv为saveRDS,文件后缀改为.rds- 保存为Excel格式:安装加载
openxlsx包后,替换为write.xlsx,后缀改为.xlsx
方案2:基础R实现,无需额外安装依赖
for (df_name in names(weathers)) { write.csv(weathers[[df_name]], file = paste0(df_name, ".csv"), row.names = FALSE) }
内容的提问来源于stack exchange,提问作者Nadka
相关产品推荐
相关产品推荐

