Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 循环字符串,读入文件并保存_String_Loops_Import_Sas - Fatal编程技术网

String 循环字符串,读入文件并保存

String 循环字符串,读入文件并保存,string,loops,import,sas,String,Loops,Import,Sas,我是SAS的新手。我有一堆csv格式的文件,我想读入SAS。我需要一个接一个地阅读并保存它们,或者单独保存,或者最好保存在一个大文件中。(虽然文件可能非常大……不确定如何最好地处理这个问题-可能是MySQL?) 假设文件的名称如下所示: file97.csv file98.csv file99.csv file00.csv file01.csv file02.csv 如何在循环语句中循环97、98、99、00、01、02 如果我只是导入,比如说file97.csv,代码类似于: PROC IM

我是SAS的新手。我有一堆csv格式的文件,我想读入SAS。我需要一个接一个地阅读并保存它们,或者单独保存,或者最好保存在一个大文件中。(虽然文件可能非常大……不确定如何最好地处理这个问题-可能是MySQL?)

假设文件的名称如下所示:

file97.csv
file98.csv
file99.csv
file00.csv
file01.csv
file02.csv
如何在循环语句中循环
97、98、99、00、01、02

如果我只是导入,比如说
file97.csv
,代码类似于:

PROC IMPORT OUT= WORK.data97 
            DATAFILE= "\...\file97.csv" 
            DBMS=CSV REPLACE;
     GETNAMES=YES;
     DATAROW=2; 
RUN;

我要写什么代码来循环?我基本上只需要更改
97
s

由于要循环执行
Proc import
,因此必须执行
,同时由于编号97、98、99、00、01、02不是连续的,因此必须使用变通方法

%let files=97,98,99,00,01,02;
%macro loop_over;
%do i=1 %to %sysfunc(countw("&files."));
PROC IMPORT OUT= WORK.data%sysfunc(scan("&files.",&i.,",")) 
            DATAFILE= "\...\file%sysfunc(scan("&files.",&i.,",")).csv" 
            DBMS=CSV REPLACE;
     GETNAMES=YES;
     DATAROW=2; 
RUN;
%end;
%mend;
%loop_over;

非常感谢。这太棒了!有一件小事-第四行末尾需要分号吗?