楼主: zz25724195
5341 15

[问答] 求教如何将CSV批量转换为SAS格式数据? [推广有奖]

11
Tigflanker 发表于 2015-9-10 13:09:54
楼上版主所用应该是好的办法。

另外尝试利用 libname + dictionary 可能会有意想不到的效果。
我知道这是一个导入一个excel中所有sheet的方法,也许可以迁移至此。

12
mehrwoods 发表于 2015-9-10 15:09:32
/*调用dos命令,将所有CSV文件名批量导入TXT文件*/
X  “dir f:\csvfiles\*.csv  /b >f  f:\temp\filename.txt”;
/*创建导入单个csv文件的宏*/
%macro import(prefix);
   Proc import out=sasuser.&prefix
             Datafile=”f:\csvfiles\&prefix..csv”
             Dbms=csv replace;   
Getnames=yes;
Run;
%mend import;
/*批量导入CSV文件*/
  Data _null_;
   Infile ‘f:\temp\filename.txt’;
   Input prefix $;
   Callexecute (
            Compress(“%import(“!!scan(prefix,1,”.”)!!”);”
)
            );
  Run;
Quit;

13
zz25724195 在职认证  发表于 2015-9-10 15:17:53
mehrwoods 发表于 2015-9-10 15:09
/*调用dos命令,将所有CSV文件名批量导入TXT文件*/
X  “dir f:\csvfiles\*.csv  /b >f  f:\temp\filename ...
对 我现在用的就是这段程序 很好使

14
hgz2373294 发表于 2015-9-11 10:00:07
按你的要求修改下看看行不行?如果方便你可以把你文件缩小附件上,方便帮你调整程序data mydata;infile "c:\temp\*.csv" dlm=',' missover lrecl=32767;inputmyvar1myvar2 $myvar3myvar4 :date9.;run;

15
zz25724195 在职认证  发表于 2015-9-11 17:39:16
hgz2373294 发表于 2015-9-11 10:00
按你的要求修改下看看行不行?如果方便你可以把你文件缩小附件上,方便帮你调整程序data mydata;infile "c:\t ...
多谢,不过我推荐12楼的程序,我已经用那个程序实现了功能,很好使。

16
hgz2373294 发表于 2015-10-6 17:49:49
>>> from blaze import odo
>>> from pandas import DataFrame
>>> odo('blaze/examples/data/accounts_*.csv.gz', DataFrame)
PYTHON三句搞定合一文件

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 14:44