专栏名称: 爱数据原统计网
中国统计网(www.itongji.cn),国内最大的数据分析门户网站。提供数据分析行业资讯,统计百科知识、数据分析、商业智能(BI)、数据挖掘技术,Excel、SPSS、SAS、R等数据分析软件等在线学习平台。
目录
相关文章推荐
51好读  ›  专栏  ›  爱数据原统计网

偷偷告诉你“秒”会批量读取数据文件的诀窍

爱数据原统计网  · 公众号  · BI  · 2017-04-05 17:10

正文

曾经有网友问我如何读取磁盘中数个文件的数据,并把这些数据合并到一张数据表中。这期就跟大家讲讲如何完成如下四种情况的文件批量读取:

1.对于文件名有规律的情况



解决方案

# 设置R的工作空间


setwd('D:\\data file\\data1')


#res


# 初始化数据框,用于后面的数据合并


data1


#通过循环完成数据合并


for (i in 1:4){


# 构造数据路径


  path


  #res


# 读取并合并数据


  data1


}

2.对于文件名没有规律的情况



解决方案

# 设置工作空间


setwd('D:\\data file\\data2')


# 读取该工作空间下的所有文件名


filenames


# 初始化数据框,用于后面的数据合并


data2


#通过循环完成数据合并


for (i in filenames){


# 构造数据路径


  path


  #res


# 读取并合并数据


  data2


}

3.文件名没规律且只读取做后缀的文件



解决方案

# 设置工作空间


setwd('D:\\data file\\data3')


# 读取该工作空间下的所有文件名


filenames


# 通过正则,获取所有xlsx结尾的文件名


filenames2


# 初始化数据框,用于后面的数据合并


data3


#通过循环完成数据合并


for (i in filenames2){


# 构造数据路径


  path


  #res


# 读取并合并数据


  data3


}

4.文件内容结构不一致,但变量名称一致


解决方案

# 加载第三方扩展包,用于编写SQL语句


library(sqldf)


# 设置工作空间


setwd('D:\\data file\\data4')


# 读取该工作空间下的所有文件名


filenames


# 通过正则,获取所有xlsx结尾的文件名


filenames2


# 初始化数据框,用于后面的数据合并


data4


#通过循环完成数据合并


for (i in filenames2){


# 构造数据路径


  path


  #res


# 使用read_excel函数读取xlsx文件


  data


# 使用sqldf函编写S数QL语句,并把结果合并起来


  data4


}


以上四种情况是日常工作中最为常见的,这里通过R语言完成了这几种批量读取数据的落地,希望可以帮助到需要的朋友。


End.


作者:刘顺祥(中国统计网特邀认证作者)


本文为中国统计网原创文章,需要转载请联系中国统计网(小编微信:itongjilove),转载时请注明作者及出处,并保留本文链接。