i have multiple .csv files in a unix directory.
every file is having variable names as header.even for empty file also.
suppose take 3 files
a.csv
b.csv
c.csv
a.csv contains data as
name;age,salary;
raja;34;4000;
ravi;33;5000;
kumar;25;3000;
b.csv contains data as
name;age,salary;
ajay;40;4500;
and c.csv contains
name;age,salary; (only headers)
Now i want to import and append all these files in to a single dataset.
i tried infile statement with *.csv to import all at a time.
but i m not getting correct data.
please help me . its urgent.
thank you in advance
Answers were Sorted based on User's Feedback
/*So for this, you have to create a macro to store the path of the folder where your files are located .*/
/*STEP 1:*/
%let dirname = C:UsersRANAJIDesktopSAS_Class_CodeMultiple_csv_files;
filename DIRLIST pipe "dir /B &dirname*.csv";
data dirlist ;
length fname $256;
infile dirlist length=reclen;
input fname $varying256. reclen ;
run;
proc print data = dirlist;
run;
/* so , once your all files are located there, you can proceed with step 2 */
/* Step2*/
data all_text (drop=fname);
length myfilename $100;
length name $25;
set dirlist;
filepath = "&dirname"||fname;
infile dummy filevar = filepath length=reclen end=done missover;
do while(not done);
myfilename = filepath;
input name $ x1 x2 x3;
output;
end;
run;
proc print data=all_text;
run;
you will have all the files appended in the new dataset.
| Is This Answer Correct ? | 0 Yes | 0 No |
/*step 1: create a macro for the destination folder */
%let dirname = C:UsersRANAJIDesktopSAS_Class_CodeMultiple_csv_files;
filename DIRLIST pipe "dir /B &dirname*.csv";
data dirlist ;
length fname $256;
infile dirlist length=reclen;
input fname $varying256. reclen ;
run;
proc print data = dirlist;
run;
/* step 2 , append all the files in one. */
data all_text (drop=fname);
length myfilename $100;
length name $25;
set dirlist;
filepath = "&dirname"||fname;
infile dummy filevar = filepath length=reclen end=done missover;
do while(not done);
myfilename = filepath;
input name $ x1 x2 x3;
output;
end;
run;
proc print data=all_text;
run;
| Is This Answer Correct ? | 0 Yes | 0 No |
Hi,by usining ptf how we have to combine (likr merge)10 datasets at a time in the oracle database(and write a macro code also)?Like this i have a douts a lot if you dont mind may please send one text mail for me(madhusudhanap16@gmail.com)?
if you were told to create many records from one record, show how you would do this using array and with proc transpose? : Sas programming
How long can a macro variable be? A token? : sas-macro
How do handle working under pressure?
what is sas olap server? : Sas-di
sas implimented companies in hyderabad
How do you specify the number of iterations and specific condition within a single do loop?
how can you code the confidence intervals?
6 Answers Cytel, IIT, Ranbaxy,
How we can call macros with in data step? : sas-macro
Code a PROC SORT on a data set containing State, District and County as the primary variables, along with several numeric variables?
Give e an example of..
Do we follow ADAM in analysis dataset development?How? Usually which version? Why is it necessary?