append命令总结

1. 将文件夹中的excel批量转成dta文件

PS. 一定要记得将第一行添加为变量,不然会很崩溃。后面处理一直有格式问题

//将文件夹下所有excel文件转化成dta格式
cd "C:UsersadmirDesktop分析师预测process2019Fenddt2020"
xls2dta,replace recursive : import excel using C:UsersadmirDesktop分析师预测process2019Fenddt2020,firstrow clear

2. 纵向合并所有的dta文件

(1)用openall
local in myfilelist: dir . files "*.dta"
openall *
save "C:UsersadmirDesktop分析师预测processappendexcel2020.dta", replace
local files : dir "C:UsersadmirDesktop分析师预测process2019Fenddt2020" files "*.dta"
foreach file in `files' {     //删除中间生成的dta文件
    capture erase `file'
}

(2)用gettoken
cd "C:UsersadmirDesktop分析师预测process2015Fenddt2016"//批量删除文件夹下的dta文件
local s: dir "C:UsersadmirDesktop分析师预测process2014Fenddt2015"  files "*.dta",  respectcase
  gettoken f1 frest: s, parse(" ")
  use "`f1'", clear
  foreach i of local frest {
    append using `i'
  }  
  save "appendexcel2.dta", replace //保存合并后的数据

(3)for循环添加
//保存文件时设置为表头,仍然会在append时候保留,以上两种方法都不会
local files : dir "C:UsersadmirDesktop分析师预测process2014Fenddt2015" files "*.dta"
dis`files'

foreach file in `files' {
    append using `file'
}
count

save appendexcel3, replace 
原文地址:https://www.cnblogs.com/celine227/p/14723349.html