想请问大家一个问题:
我想利用如下代码完成某种宏,
出来的数据集应该是这样的:
| a | b | Char | d | e | f |
| STUDYID | Study Identifier | Char | 15 |
| EG.STUDYID
|
| BRTHDTC | Date/Time of Birth | Char | 19 |
| ADSL.BRTHDTC
|
| AGEGR1 | Age Group | Char | 15 | <40,
>=40 and < 60,
>= 60 | ADSL.AGEGR1 |
| AGEGR1N | Age Group (N) | Num | 8 |
| ADSL.AGEGR1N
|
注:<40,后面是个换行符。
注:datalines中的(\t)代表从excel直接复制过来的转义符。
中间的datalines为每次手动黏贴进去的东西。
现在我想把这些数据读入,其中用来分隔的是excel的分隔符:\t,就是按照\t的转义符一口气读下去。
为什么不直接用import,我有如下苦衷:
因为公司用的是unix sas,故中间有些难弄得东西
1. 据悉proc import不能读入xlsx,这是死穴。
2. 就算能读xlsx,还有一大问题:文件名中可能存在空格,例如:‘/user1/abc/a b c.xlsx’
所以只好出此下策,加入一个手动环节,然后想用中间的过程步来自动识别读入的数据。
还望给与回复,非常感谢。
祝阅者新年快乐,马上有房有车有房车,还没毕业的就马上有SCI~~
更新:
感觉貌似不行,。。。因为datalines会把制表符直接转换成空格,例如:
input a $1. @@;
if a = '09'x then input '|' @@;
else input a $1. @@;
这样都是没效果的。。
那么,能否通过import的 ‘/user1/abc/a b c.xlsx’ 解决呢。。。