全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
7001 9
2017-03-30
我根据在网上搜到的命令将多个excel文件进行合并

fs *.xls

foreach file in `r(files)' {

    import excel using '`file'', describe

    forvalues s = 1/`r(N_worksheet)' {

           import excel using '`file'',   ///

           sheet(`r(worksheet_`s')')   ///

           cellrange(`r(range_`s')')    ///

           firstrow clear

           save newstata`s'.dta, replace

        }  

             clear

  forvalues s = 1/`r(N_worksheet)' {

          append usingnewstata`s'.dta               

        }

           save '`file'_all.dta',replace

    }   


但是运行结果说invalid 'trd_dalyr.xls'

r(198);


请教各位大神,这是文件名的问题吗

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-3-30 17:26:45
我会建议用 (ssc install) xls2dta,请一次叫进同一目录下之所有 excel 档案!你的问题可能出在 '`file'' -> `file'。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-30 20:59:15
建议对stata命令不熟悉的时候就不用用循环和批量导入命令
一个一个导入也很快

等对stata熟悉了,然后在用循环

楼上黄老师说的没有错误
是你引号不对,删除就可以


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-31 13:59:14
没用过这个方法导入文件。凭借一点点Python的经验,我觉得可能是命令出现问题,for循环后面该缩进什么的没有缩进,或者没有":"。
这些都是新手常见的错误
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-31 18:49:17
支持黄老师的观点~另外补充一个不同格式转化为dta格式的非常好用也是比较菜鸟的方法,可以载一个stattransfer软件,可以非常方便的在各种格式的数据之间进行转化,速度很快而且不会出错。转化为dta格式之后再合并就很简单了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-4-2 16:38:39
蓝色 发表于 2017-3-30 20:59
建议对stata命令不熟悉的时候就不用用循环和批量导入命令
一个一个导入也很快
我最后也是一个一个导入的 谢谢您
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群