楼主: 柳如清风
1679 3

[问答] 如何批量读入ftp中命名无规律的文件 [推广有奖]

  • 0关注
  • 1粉丝

大专生

15%

还不是VIP/贵宾

-

威望
0
论坛币
15 个
通用积分
0
学术水平
2 点
热心指数
1 点
信用等级
0 点
经验
404 点
帖子
32
精华
0
在线时间
47 小时
注册时间
2012-3-7
最后登录
2021-3-24

楼主
柳如清风 发表于 2012-4-25 10:58:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
根据supersasmacro的博客,可以用以下程序批量读入命名无规律的数据。

%macro checklist(dirname);
%let rs=%sysfunc(filename(filref,&dirname));
%let did=%sysfunc(dopen(&filref));
%let nobs=%sysfunc(dnum(&did));
%do i=1 %to &nobs.;
  %let inname=%qscan(%qsysfunc(dread(&did,&i)),1,.);
  data a;
    infile &dirname\&inname..txt firstobs=1 TRUNCOVER;
    input var0 $200.;
  run;
%end;
%let rc=%sysfunc(dclose(&did));
%mend checklist;
%checklist(D:\try);

如果文件夹在本地,读取没有问题。但是在读取FTP上数据时我用了下面的程序,其中%let rs=%sysfunc(filename(filref,dirname);语句报错,不知问题出在哪,求教各位,万分感谢!

filename dirname FTP "/upload/data" dir host='192.168.x.xxx' user='xxx' pass='xxx';
%macro checklist2;
%let rs=%sysfunc(filename(filref,dirname));
%let did=%sysfunc(dopen(&filref));
%let nobs=%sysfunc(dnum(&did));
%do i=1 %to &nobs.;
  %let inname=%qscan(%qsysfunc(dread(&did,&i)),1,.);
  data a;
    infile dirname(&inname..txt) firstobs=1 TRUNCOVER;
    input var0 $200.;
  run;
%end;
%let rc=%sysfunc(dclose(&did));
%mend checklist2;
%checklist2;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:命名无规律 FTP checklist truncover filename 文件夹 amp 命名 如何 博客

沙发
柳如清风 发表于 2012-4-27 14:49:30
求高人,求帮忙,求解决啊!

藤椅
sasmacro 发表于 2012-4-28 15:55:16
把 FTP "/upload/data"中的“/”换成“\”,斜扛换成反斜扛试试。

板凳
柳如清风 发表于 2012-5-3 14:14:10
sasmacro 发表于 2012-4-28 15:55
把 FTP "/upload/data"中的“/”换成“\”,斜扛换成反斜扛试试。
试过,斜杠与反斜杠的作用一样

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 05:04