stata批量读入excel文件,并合并为一个dta文件

该博客介绍了一个批处理脚本,用于读取C盘fin/data/test目录下的所有xlsx文件,将它们转换为dta文件并进行特定的数据处理,如删除空文件、计算平均值等。处理后的dta文件逐一保存,然后将所有dta文件合并成一个名为code_wise.dta的文件。过程中还包含了如何处理可能出现的空文件和重复数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能:读入C:\fin\data\test中的多个excel文件,并生成对应dta文件,最后把所有的dta文件合并为一个
注意:空的excel文件需要删除,否则报错,可以自行添加是否为空判断

cd C:\fin\data\test
local myfilelist: dir . files "*.xlsx" 
foreach filename of local myfilelist { 
    import excel using `"`filename'"',clear sheet("Sheet1") firstrow
	drop in 1 //以下为个人处理
	tostring A, force replace usedisplayformat
	gen year=real(substr(A,6,4))
	bysort code year: egen m_bdindex = mean(baidu_index)
	gen day= substr(A,1,5)
	drop if day!= "31dec"
	drop A day baidu_index
	//save codeindex0.dta,replace  //个人功能处理完毕
	local filenm = subinstr(`"`filename'"', ".xlsx", ".dta", .)//存为dta文件
	save `"`filenm'"', replace	
} 
//合成一个dta文件
clear
cd C:\fin\data\test
use 0_wise.dta
local myfilelist1: dir . files "*.dta" 
foreach filename of local myfilelist1 { 
	append using `"`filename'"'
	duplicates drop code year ,force  //删除重复的行
}
save code_wise.dta,replace
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值