全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
12040 18
2010-11-16
有100个TXT文件,文件命不规范,都是60开头(上海股票代码),但格式完全相同,单个文件读入sas没有问题。
现在想通过宏导入,每个TXT文件对应生成一个数据集。
初步设想:
1,在该文件目录下键入dir *.txt /b >ex.txt,将100个txt文件名导入文本文件all.txt中
2.编写宏及程序
%macro a(stockcode);
data a&stockcode;
infile "d:\Level-2 and Topview\0710\All_2007-10-08\Stock_details\&stockcode..txt" firstobs=2;
input code $ cjtime price vol amount;
informat cjtime time.;
format cjtime time.;
run;
%mend a;
%include "d:\Level-2 and Topview\0710\All_2007-10-08\Stock_details\all.txt";
run;

这是一个版友的程序,我编的的和他出不多,借他的来说明一下问题。
他是生成100个数据集,但我需要这一百个txt自己合成一个数据集~
我试过去掉data a&stockcode;中的&stockcode,但是这样只能生成第100个txt的数据集。
请牛人们给我出出主意~怎样才能自动生成一个数据集
二维码

扫码加我 拉你入群

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

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

全部回复
2010-11-16 19:48:08
use proc append in your macro
二维码

扫码加我 拉你入群

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

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

2010-11-16 20:55:45
2# Bridgenc

多谢啦~~~我试过啦~~proc append 确实可以~~果然牛!~~
我原先就只想到用set拼接,结果在海量数据下慢的要死,原来有append这种好东西~
谢谢啦~
二维码

扫码加我 拉你入群

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

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

2010-11-16 22:14:04
我不认为把很多“小”的dataset通过append合起来
会比一个set省多少开销
提供一个用infile的filevar选项的方法
很久没用了,貌似可以更简单点的......
复制代码
二维码

扫码加我 拉你入群

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

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

2010-11-16 23:00:51
当数据量和txt数据比较多,读入每个数据成SAS数据集,然后再用set或append,比一次性读入成一个文件安全。后者可能因为数据步异常或其他原因引起程序中止,导致数据集出错,程序得重新运行。
二维码

扫码加我 拉你入群

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

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

2010-11-17 15:19:53
soporaeternus 发表于 2010-11-16 22:14
我不认为把很多“小”的dataset通过append合起来
会比一个set省多少开销
提供一个用infile的filevar选项的方法
很久没用了,貌似可以更简单点的......
复制代码
顶、、、、、、、、、、、、、、、、
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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