DATA Step, Macro, Functions and more

how to remove UTF-8 carriage return characters in data step using infile

Reply
New Contributor
Posts: 2

how to remove UTF-8 carriage return characters in data step using infile

I read in the CSV file to dataset by using the PROC IMPORT. the UTF-8 specifical character carriage return looks like the single quatation sign ('). I need to remove it form the text variables and keep the normal single quatation sign. please suggest. thanks.

PROC Star
Posts: 1,759

Re: how to remove UTF-8 carriage return characters in data step using infile

Like this?

 

data _null_;
  A="‘a’";
  B=translate(A,"''","‘’");
  putlog B=;
run;

B='a'

New Contributor
Posts: 2

Re: how to remove UTF-8 carriage return characters in data step using infile

Thanks for your suggestion, ChrisNZ. I tried your code; but it seems not work.

Super User
Posts: 11,343

Re: how to remove UTF-8 carriage return characters in data step using infile

I have a number of UTF-8 CSV files and none of them have this behavior. By any chance are you looking at a file generated in a different operating system? You  may want to investigate the TERMSTR option for the Infile statement or use a FILENAME with that option to reference for proc import if that is the case.

Valued Guide
Posts: 2,177

Re: how to remove UTF-8 carriage return characters in data step using infile

If you know the data types of your csv file columns, a data step will eliminate that unwanted carriage return if you add it to the delimiter= infile option
Data your_data ;
Length your csv file columns $100 ;
Infile "/path/your csv file.csv" dsd delimiter= "0D2c"x lrecl= 1000 firstobs= 2;
input your csv file columns;
Run;
Ask a Question
Discussion stats
  • 4 replies
  • 203 views
  • 0 likes
  • 4 in conversation