外部导入数据如何设置变量的长度

前两天在工作中遇到一个问题,在使用PROC IMPORT导入数据的时候,数据发生了截断,代码如下:
proc import datafile="文件路径"out=Mydata dbms=xlsx replace;
    getnames=no;
/*    guessingrows=max;*/
run;
在以前做外部导入的时候都会用到guessingrows=max,就不会出现数据截断的情况,guessingrows的作用是指定读取文件的前多少行数据,用来判断变量的类型和长度,如果不指定,默认值是20,最大值是2147483647 (或者用MAX代替)。在本次导入的时候加上guessingrows=max语句程序会报错,所以就把这段代码注释掉了,就出现变量截断的情况。后来把xlsx文件转换成csv格式就可以用guessingrows语句,上一篇文章我们说到csv格式的兼容性更好,所以之前报错的原因可能是编码、格式、兼容性方面的原因。
除了转换文件格式有没有其他的办法呢?答案是:有的。在proc import中是无法指定变量的长度的,但是可以在data步中使用infile语句导入外部数据,代码如下:

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:外部导入数据如何设置变量的长度

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值