全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3044 5
2012-02-14
现在我有一系列的原始数据文件,txt格式的
内容基本格式如下:

A123 214 231 4534
A...
A...
B234 CDF 523 4543
B...
B...

每行前有一个字母标示该行观测属于哪个分表,如前三行都属于表A。也就是说,这个文件把很多表的数据都集中在一张表上了,并且用每行的第一个首字母进行区分。

我想问得是如何处理这样的数据文件。如果要全导入SAS中,再判断,再分割,需要花时间啊,而且不同分表的列属性各不相同,没有办法按列有序的导入,只能一次性导入一行且做为一个字符变量。所以在这里请教高手了,谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-2-14 11:45:54
data a;
infile "xxx.txt";
input id $1. @1 text $ @2;
run;
二维码

扫码加我 拉你入群

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

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

2012-2-14 17:09:08
zhangzachary 发表于 2012-2-14 11:45
data a;
infile "xxx.txt";
input id $1. @1 text $ @2;
多谢,可能你还没有理解我的意思
我是想在导入的时候就根据每行第一个字符把不同的观测输出到不同的表中去
你的代码则是把原表整张导入,且把除第一个字符外的其他字符当作一个字符串了吧?
二维码

扫码加我 拉你入群

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

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

2012-2-14 17:20:36
playmore 发表于 2012-2-14 17:09
多谢,可能你还没有理解我的意思
我是想在导入的时候就根据每行第一个字符把不同的观测输出到不同的表中 ...
那就 data a b c ...;
        infile ....;
        input id $1. @1 .....;
        if id="A" then output a;
        if id="B" then output b;
        .......
        run;
试试看
二维码

扫码加我 拉你入群

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

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

2012-2-15 09:35:42
zhangzachary 发表于 2012-2-14 17:20
那就 data a b c ...;
        infile ....;
        input id $1. @1 .....;
嗯,这个可以用
但是还有一个问题
就是我这里每个分表的变量都各不相同
用你现在的这个方法可以根据id生成不同的表格
但是每一个表格除id之外就只有一个text的变量了
我想要根据不同的表格设置不同的input变量
不知道这么做可行吗?
谢谢!
二维码

扫码加我 拉你入群

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

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

2012-2-15 10:54:28
playmore 发表于 2012-2-15 09:35
嗯,这个可以用
但是还有一个问题
就是我这里每个分表的变量都各不相同
可以的,我上面在id后面写的text变量只是一个例子,具体的自然应该按照你的需求来定~ 按你的意思,估计要先input id $1. @1 后用@锁定,然后根据if then 来input后面不同需求的变量并output到指定的dataset。不知道你能不能理解?或者你将更详细的要求写下来,我帮你看看~
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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