楼主: peijiamei
11569 5

.csv文件导入SAS方式? [推广有奖]

学科带头人

76%

还不是VIP/贵宾

-

威望
3
论坛币
26151 个
通用积分
12.3533
学术水平
217 点
热心指数
343 点
信用等级
210 点
经验
75410 点
帖子
1102
精华
1
在线时间
2016 小时
注册时间
2007-11-15
最后登录
2016-3-21

50论坛币
现在有多个.csv文件,并且每个文件都很大,用import和infile导入sas都比较慢。
现在请问各位是否有更好的方法或是优化的解决方案。

谢谢

最佳答案

Bridgenc 查看完整内容

you can try to use pipe to read in if all csv files in last 7 days are the same layout for example: filename indata pipe "dir C:\test\*.csv /S"; data vname; length fname $50.; format fdate mmddyy10.; infile indata missover; input date $10. time: $8. apm: $4. size: $20. fname: $50.; if anydigit(date)=0 then delete; fdate=mdy(substr(date,1,2),substr(date,4,2),substr(date,7,4)); ...
关键词:import infile 解决方案 Port file 文件 SAS CSV

本帖被以下文库推荐

我的微博:http://t.sina.com.cn/1087192374
欢迎互相加关注!
沙发
Bridgenc 发表于 2010-10-14 17:37:01 |只看作者 |坛友微信交流群
you can try to use pipe to read in if all csv files in last 7 days are the same layout
for example:
filename indata pipe "dir C:\test\*.csv /S";
data vname;
  length fname $50.;
  format fdate mmddyy10.;
  infile indata missover;
  input date $10. time: $8. apm: $4. size: $20. fname: $50.;
  if anydigit(date)=0 then delete;
  fdate=mdy(substr(date,1,2),substr(date,4,2),substr(date,7,4));
  if fdate>=(today()-7);
  keep fname fdate;
run;

data _null_;
    if 0 then set vname nobs=nobs;
    call symput('nvars',nobs);
run;

%put &nvars;
then write a loop to read in all sas data sets

使用道具

藤椅
蓝色 发表于 2010-10-14 17:54:27 |只看作者 |坛友微信交流群
找stat transfer 转成sas自己的格式
已有 1 人评分学术水平 热心指数 收起 理由
peijiamei + 3 + 2 谢谢。、!

总评分: 学术水平 + 3  热心指数 + 2   查看全部评分

使用道具

板凳
chenminzhi11205 发表于 2010-10-20 10:03:53 |只看作者 |坛友微信交流群
学习了,
兄弟姐妹顶起来

使用道具

报纸
叶原七 发表于 2010-10-21 15:21:22 |只看作者 |坛友微信交流群
目前为止的修改器只能适应1.10版本,如果你确实想修改,你就降回1.10版,修改完了以后再升回1.11版。如果你想这样修改,那我倒是能给你修改器。

使用道具

地板
☆Justforyou 发表于 2013-5-23 15:04:53 |只看作者 |坛友微信交流群
好办法,谢谢大家的分享。

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 03:16