xpt2sas(.xpt文件批量转为.sas7dbat)

2023-11-11 20:20

本文主要是介绍xpt2sas(.xpt文件批量转为.sas7dbat),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

.xpt文件批量转为.sas7dbat

  • 前言
  • 一、文档目录举例
  • 二、方法一(SAS EG 8.3环境下)
  • 三、方法二(SAS9.4环境下)


前言

提供了两种不同编码环境下xport转sas的宏脚本xpt2sas,新建一个名为raw的文件夹,再内嵌一个名为xpt的文件夹,将需要转换的

xpt文件放置在xpt目录下,运行代码后,生成的.sas7dbat文件将批量出现在raw目录下


一、文档目录举例

示例:在如下文档目录前提下编码
在这里插入图片描述
在这里插入图片描述

二、方法一(SAS EG 8.3环境下)

只需要替换url中的file其他代码不用动

%macro xpt2sas;
%let url=%str(\\file\raw); \*file需要更换为指定目录如:\\10.10.1.95\filesever\project\task*\
libname raw "&url.";data _import;
length file line $200;
/* Define a filename pointing to the directory */
rc = filename("myDir", "&url.\xpt");
/* Open the directory, get directory id number */
dirId = dopen("myDir");
if dirId > 0 then do;/* dnum() : nb of files in directory */do i = 1 to dnum(dirId);/* Read the ith file name from directory */file = dread(dirId, i);line =cats("%","xpt2loc","(libref=raw,filespec='","&url.","\xpt\",file,"');");if length(file) > 0 then output;end;/* Close the open directory */rc = dclose(dirId);end;
drop rc dirId i file;
run;
data _null_;set _import end=eof;file "&url.\xpt\xpt2loc.sas" dlm="" lrecl=32000;put line;
run;
%include "&url.\xpt\xpt2loc.sas";
%mend;
%xpt2sas;

三、方法二(SAS9.4环境下)


%macro xpt2sas;
data _null_;call system("cd \file\raw\xpt"); \*file需要更换为指定目录如:D:\filesever\project\task*\
run;
filename _dir pipe 'ls -la *.xpt' ; /*linux:ls,window:dir*/data _import(keep=line);length _dirline $200;length _file $20;length line $200.;infile _dir recfm=v lrecl=200 truncover ;input _dirline $1-200 ;   _file = scan(_dirline, 9, " ");line = '%xpt2loc(libref=raw ,filespec='||"'"||'\file\raw/xpt\'||strip(_file)||"'"||');';output;
run;filename outfile "\file\raw\xpt2lo.sas";data _null_;set _import end=eof;file outfile dlm="" lrecl=32000;put line;
run;
x "perl -i -pe 's/\n/\r\n/g' \file\raw\xpt2loc.sas";filename outfile clear;%mend;
%xpt2sas;libname raw '/file/raw/';
%include '/file/raw/xpt2loc.sas';

这篇关于xpt2sas(.xpt文件批量转为.sas7dbat)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/392602

相关文章

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

Java中将异步调用转为同步的五种实现方法

《Java中将异步调用转为同步的五种实现方法》本文介绍了将异步调用转为同步阻塞模式的五种方法:wait/notify、ReentrantLock+Condition、Future、CountDownL... 目录异步与同步的核心区别方法一:使用wait/notify + synchronized代码示例关键

使用Java编写一个文件批量重命名工具

《使用Java编写一个文件批量重命名工具》这篇文章主要为大家详细介绍了如何使用Java编写一个文件批量重命名工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景处理1. 文件夹检查与遍历2. 批量重命名3. 输出配置代码片段完整代码背景在开发移动应用时,UI设计通常会提供不

单精度浮点数按存储格式转为整数的程序

///#include<cstdio>//-----------------union int_char{unsigned char ch[4];float i;};void out_put(union int_char x)//x86是小端对其模式,即最数据的最低位存储在地址的最低位上。{printf("单精度浮点数值为:%f\n",x.i,x.i);printf("存储位置从左到右

myeclipse中的转为Web项目

一直以来都用的是myeclipse,昨天心血来潮,将myeclipse中生成的web项目导入eclipse,发现原来web左上角的小球不见了,变成了J标志,即,javaweb项目标示,变成了Java项目标示,网上找资料发现需要以下操作。 1,首先看是否有红色叹号,如果有红色叹号说明引入jar包路径错误,不匹配。先把所有的jar包匹配正确。 2,到.peject文件修改<natures>.

el-date-picker年份选择默认值为当前年,并且将获取时间转为年月日格式

<el-date-pickervalue-format="yyyy"v-model="leftQuery.year":disabled="timeArr && timeArr.length != 0 ? true : false"type="year"placeholder="选择年"@change=changeYear:picker-options="pickerOptions"></el-da

python中使用FormatDataLibsvm转为txt文件后报错illegal multibyte sequence

‘gbk’ codec can’t decode byte 0xff in position 0: illegal multibyte sequence 这个报错是因为编码不对,正确的编码是ANSI编码,txt文件打开后另存为可以看到当前的文本文档编码 但是excel不能直接保存ANSI编码的txt文件 所以不能直接保存为ANSI编码 有两种解决办法 1.新建一个txt文件(新建的txt文件

Hive - 日期从整形转为Date类型

在建表的时候我们常将日期字段设置为INT类型,将诸如20180601这样的数字值来表示日期,这样在做日期比较等操作时没有问题,但是要进行某些日期计算,就要先转成日期类型才能进行计算了,怎么转换呢? 数据准备 下面在Hive中先建一个表,含有一个INT类型的日期字段,插入两行数据。 create table tb (dt INT);insert into tb values (2018070

将DIB/bitmap读入内存并转为 halcon hobject

问题由来:在mfc halcon混合编程中,发现halcon::readimage() 函数读取图片(8位8M/bmp)至少200ms,当然24位 32位bmp 倍数所消耗的时间倍数上涨。那么有没有什么方法加快读取速度?目前发现一个亲测可行的方式:  1、通过 DIBAPI 读取图片,下载可转到点击打开链接,赚点积分 2、获取所读读片的图像数据的首地址,注意非结构头地址 3、通过halcon

RGB色转为灰度色算法-img2ascii_char

一、基础   对于彩色转灰度,有一个很著名的心理学公式: Gray = R0.299 + G0.587 + B0.114 二、整数算法   而实际应用时,希望避免低速的浮点运算,所以需要整数算法。   注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R299 + G587 + B114 + 500) / 1000   RGB一般是8位精度,现在缩放1