SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 847|回复: 6
打印 上一主题 下一主题

求助,文本文件导入

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-7-23 10:42:18 | 只看该作者

求助,文本文件导入

比如我有一个文本txt文件路径为C:\m.txt
内容如下

The SAS System         
                                                      
a                   b               
                                                                                                                        
c                                                   
d                             e
------------------------------------------------------
1                  2                                             
                                                                                                
3                                                               
4                             5


想导入到SAS里面,该怎么INFILE 啊,结果应该是
a   b    c     d   e  
1   2    3     4   5
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-7-23 11:10:03 | 只看该作者

Re: 求助,文本文件导入

用 input 语句中的指针控制选项 (Pointer Controls option) 就可以跨行读取。
具体的细节看联机文档。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-7-23 15:55:08 | 只看该作者

Re: 求助,文本文件导入

但是如果文本文件是这样的呢
The SAS System         
                                                      
a             b      
                                                            
c                                                   
d                             e
------------------------------------------------------
1             2     
                                             
3                                                               
4                             5

6             7        
      
8
9                             1
The SAS System  
                                                      
a             b           
                                                        
c                                                   
d                             e
------------------------------------------------------
1             3        

5         
7                             9

2             4  

6
8                             0
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-7-23 23:28:03 | 只看该作者

Re: 求助,文本文件导入

一个笨办法,丢人了:(我自己看了都想吐)
[code:16ofvx09]
data a;
        length  a $1000;
        infile "c\m.txt" length=len;
        input a $varying1000. len;
        if not missing(a);
run;
data a(drop=a);
        length tmp $1000;
        set a end=last;
        retain tmp maxn;
        if _n_=1 then do;tmp=' ';maxn=0;end;
        else if index(a,'-') or index(a,'SAS') then do;n=countc(trim(tmp),'');output;tmp='';maxn=max(n,maxn);end;
                else tmp=catx('',of tmp a);
        if last then do;n=countc(trim(tmp),'');output;maxn=max(n,maxn);call symput('maxn',maxn);end;

run;
data a(drop=tmp maxn i n);
        set a;
        array aa{%eval(&maxn.+1)} $;
        do i=1 to n+1;
                aa(i)=scan(tmp,i,'');
        end;
run;

[/code:16ofvx09]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2008-7-25 09:23:33 | 只看该作者

Re: 求助,文本文件导入

好简单哦 <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->  <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
filename qtr1 ('D:\sas.txt');
     data work.firstqtr;
        infile qtr1;
       
           input   #8 a b
                   #10 c
                    # 11 d e ;
           output;
           input    a b //
                   c /
                    d e;
           output;

     run;
proc print data=firstqtr;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2008-7-27 18:30:25 | 只看该作者

Re: 求助,文本文件导入

但是如果文本文档是这样的呢?
[code:2hepuv21]The SAS System         
                                                      
a             b                                                                  
c                                                   
d                             e
------------------------------------------------------
1             2                                                  
3                                                               
4                             5

6             7               
8
9                             1
The SAS System  
                                                      
a             b                                                                  
c                                                   
d                             e
------------------------------------------------------
1             3        
5         
7                             9

2             4  
6
8                             0
The SAS System  
                                                      
a             b                                                                  
c                                                   
d                             e
------------------------------------------------------
2             4
6           
8                             7
[/code:2hepuv21]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2008-7-28 23:26:06 | 只看该作者

Re: 求助,文本文件导入

傻,为什么不存在excel里导入呢?还用这么过时的txt?
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 01:51 , Processed in 0.223443 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表