楼主: gavin4403
1826 5

[数据管理求助] 批量导入求助 [推广有奖]

  • 2关注
  • 0粉丝

博士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
640 个
通用积分
6.8330
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
4450 点
帖子
171
精华
0
在线时间
232 小时
注册时间
2007-4-27
最后登录
2023-11-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我的数据以000002.xls、000003.xls、000004.xls、000006.xls(中间正好缺失000005.xls),我想批量导入,所以,使用如下命令
forvalues i=2/6{
import excel using "C:\stata\00000`i'.xls" ,firstrow clear
save t`i',replace
}
但是,由于正好缺失000005.xls这个表格,所以,命令就无法继续执行。
所以,就像请教高手指点一下,如何写个命令,当000005.xls缺失时,就忽略,继续针对000006.xls执行。
还请高手不吝赐教。
谢谢。

P.S.我能想到的解决方案是,当STATA提示出现错误时,就修改forvalues i=***的数值。但是,由于我需要导入的文件太多并且有的文件是600001.xls到600999.xls都存在,但是,601000.xls到601999.xls缺失,而602000.xls到699999.xls又存在,所以,逐次修改forvalues的值会很麻烦,所以,想请教高手,有没有简洁的方法。

谢谢。


二维码

扫码加我 拉你入群

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

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

关键词:批量导入 forvalues forvalue replace values 解决方案 replace import excel 如何

本帖被以下文库推荐

沙发
gavin4403 发表于 2016-5-4 16:32:46 |只看作者 |坛友微信交流群
有一个解决方法是使用if-then语句,当00000·i'.xls存在时,那么就import。但是,如何写命令来说明00000`i'.xls存在。还请高手指点。

使用道具

藤椅
arlionn 在职认证  发表于 2016-5-5 09:38:53 |只看作者 |坛友微信交流群
forvalues i=2/4 6{
    import excel using "C:\stata\00000`i'.xls" ,firstrow clear
    save t`i',replace
}
已有 1 人评分经验 收起 理由
Captain-CUI + 20 精彩帖子

总评分: 经验 + 20   查看全部评分

使用道具

板凳
arlionn 在职认证  发表于 2016-5-5 09:39:34 |只看作者 |坛友微信交流群
或(不够好)
forvalues i=2/6{
    cap import excel using "C:\stata\00000`i'.xls" ,firstrow clear
    cap save t`i',replace
}

使用道具

报纸
gavin4403 发表于 2016-5-5 09:51:45 |只看作者 |坛友微信交流群
arlionn 发表于 2016-5-5 09:39
或(不够好)
forvalues i=2/6{
    cap import excel using "C:\stata\00000`i'.xls" ,firstrow clear
谢谢连老师指点。

使用道具

地板
gavin4403 发表于 2016-5-5 10:41:22 |只看作者 |坛友微信交流群
arlionn 发表于 2016-5-5 09:39
或(不够好)
forvalues i=2/6{
    cap import excel using "C:\stata\00000`i'.xls" ,firstrow clear
连老师,再请教你一个问题。
我在导入数据时由于手工操作失误,导致code(证券代码)输入错误。即:
真实的数据为:
code        year        asset
000001    2001        231
000001    2002        234
000001    2003        222
000002    2001       111
000002    2002       100
000002    2003        99
结果在导入数据时将code=000001的数据全部赋予了code=000002,即
code        year        asset
000001    2001        231
000001    2002        234
000001    2003        222
000002    2001        231
000002    2002        234
000002    2003        222
我的问题是如何挑出这些除了code不同外 ,year和asset全部相同的两组或多组数据。这样就可以重新更正数据了。



P.S.造成上述问题的原因是,将code=000001的数据下载下来后保存为000001.xls。由于操作失误,然后重复下载了code=000001的数据,但是,却保存为了000002.xls。而数据集中的code是根据“000002.xls”的文件名生成的。所以,就导致出现code不同,但是,year和asset相同的情况。
现在,为了确保数据真实准确,所以,我需要挑出code不同,而year和asset全部相同的数据,重新核对和更正。

请连老师指点指点。谢谢。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 18:02