SAS中文论坛
标题:
读入剩下所有文字到一个变量?
[打印本页]
作者:
shiyiming
时间:
2008-1-31 02:59
标题:
读入剩下所有文字到一个变量?
文本数据
infile
like this:
[quote:3e7p4zhp](600072)中船股份:2007年年度业绩预增公告
根据中船江南重工股份有限公司财务部门的初步测算,预计2007年年度净利润较2006年同期增长550%以上(上年同期未按新会计准则调整的净利润为1347.03万元),具体数据将以公司于2008年4月12日披露的2007年年度报告为准。.... [/quote:3e7p4zhp]
(600072)固定 有时会出现前面的括号缺失
中船股份固定 8字节
2007这类的信息前必有 [b:3e7p4zhp]:[/b:3e7p4zhp]冒号 或 [b:3e7p4zhp]- [/b:3e7p4zhp]
问题:
1、从2007年开始直读到结尾作为一个变量的option
2、文件目录结构:日期\分类\*.txt
上级目录名的sas命令是什么呢? 我想用日期做变量
谢!
作者:
shiyiming
时间:
2008-2-1 11:46
标题:
Re: 读入剩下所有文字到一个变量?
关于第2个问题,sas有个pathname命令,是获取全路径的,不知道对你有没有帮助
作者:
shiyiming
时间:
2008-2-1 12:28
标题:
Re: 读入剩下所有文字到一个变量?
关于第1个问题,SAS没有option控制一直读到结束,碰到回车符就会认为该变量读取结束了。所以只能分多行读取,然后根据一定逻辑,如关键字(600XXX)来拼接多行字符串。
或者也可以查询一下eof,ignoredoseof等options,看看有没有需要的。以前也有些帖子是讲述如何读取整行的,也可以参照一下。
作者:
shiyiming
时间:
2008-2-1 18:58
标题:
Re: 读入剩下所有文字到一个变量?
shiyiming ,还是你nice!
谢谢 mzmxly81
作者:
shiyiming
时间:
2009-3-16 19:15
标题:
Re: 读入剩下所有文字到一个变量?
意外之间看到这个帖子,想到作text miner的XDJM们可能需要解决这个问题,饭后写了一点咚咚仅供参考~
[code:1l1tizpu]data mydataset;
length line tmp $20000.;
infile "myfile" truncover end=lst filename;
input line $ 1-20000;
do until(lst);
input tmp $ 1-32767;
line=strip(line)||'0a'x||strip(tmp);
end;
keep line filename;
run;[/code:1l1tizpu]如果将这里的myfile 改为 pipe输入,那么就可以将N个dictionary下的N*M个文件全部装进一个table中,每个文件一个cell..
比如
[code:1l1tizpu]filename fl pipe "dir /b /mypath";
data mydataset;
length line tmp $20000. file $200.;
infile fl ;
input file;
file="/mypath/"||file;
infile filevar=file truncover eov=lst ;
input line $ 1-20000;
do until(lst);
input tmp $ 1-32767;
line=strip(line)||'0a'x||strip(tmp);
end;
keep line filename;
run;[/code:1l1tizpu]
仅供参考~~~
继续工作~~~赫赫
作者:
shiyiming
时间:
2009-3-16 22:38
标题:
Re: 读入剩下所有文字到一个变量?
谢谢!pipe绝对是好方法,加threads可以成倍的提高效率。
对于文本挖掘方面,SAS最近新合作的公司擅长自然语言处理,之前还做过CAT(计算机辅助翻译),应该比textminer前景更好。 <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
作者:
shiyiming
时间:
2009-3-17 14:14
标题:
Re: 读入剩下所有文字到一个变量?
hehe这方面我就不太熟悉了,我从来没有做过真正的text ming..原来就用一个Lucene做个一个字典,以后就费了~~
pipe确实不错~~~,加上connect作multi threads~~。
原来没有connect的时候,我在一个WIN2003的服务器上做了个 task command的quasi - multi threads 小程序,Monte Carlo..
赫赫~~~
hardcoding 还是不错的。。加上DDL就行~~~
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2