使用rcd获取文件夹的信息。并存储到暂元中
使用openall合并.csv或.dta文件。
使用cd进入各个文件夹中
参见help rcd,help openall,help cd
若有命令stata提示未安装,可使用ssc install openall命令进行安装。
代码的实现
代码
qui rcd
local k = 1997 //当前文件夹
forvalues i = 1(1)`r(tdirs)'{
cd `c(sysdir_personal)'TFP\example
qui rcd
cd "`r(ndir`i')'"
openall *,insheet //合并当前文件数据
local k = `k' + 1
dis `k' //作者本人为了方便查看代码运行结果
cd `c(sysdir_personal)'TFP\data //将文件全部保存至data
save `k'.dta ,replace //保存为.dta文件,以年份命名
clear
}
代码的详细介绍
qui rcd是获取当前文件夹下所有文件的目录。运行此命令后,结果如下
使用return list命令查看存储
如图可以看到暂元r(tdirs)中存储的是共有多少个文件夹.
暂元r(ndiri)中存储的是各个文件夹的路径名。 openall *,insheet是合并当前文件夹下的所有.csv文件。如果不加option选项insheet则是合并所有.dta文件。