Database 具有特殊字符的SAS输入数据
我正在尝试将一些dat文件(逗号分隔)导入SAS大学。但是,一个变量包含特殊字符(例如法语重音)。大多数被替换为�, 但也有一些观察有一些问题 问题示例: 数据中的原始观察结果如下所示:Database 具有特殊字符的SAS输入数据,database,import,sas,special-characters,Database,Import,Sas,Special Characters,我正在尝试将一些dat文件(逗号分隔)导入SAS大学。但是,一个变量包含特殊字符(例如法语重音)。大多数被替换为�, 但也有一些观察有一些问题 问题示例: 数据中的原始观察结果如下所示: Crème Brûlée,105,280 运行以下命令: DATA BenAndJerrys; INFILE '/folders/myfolders/HW3/BenAndJerrys.dat' DLM = ',' DSD MISSOVER; INPUT flavor_name :$48. po
Crème Brûlée,105,280
运行以下命令:
DATA BenAndJerrys;
INFILE '/folders/myfolders/HW3/BenAndJerrys.dat' DLM = ',' DSD MISSOVER;
INPUT flavor_name :$48. portion_size calories;
RUN;
它有一个问题:
flavor_name=Cr�me Br�l�e,105 portion_size=280 calories=
如您所见,值105(即分量大小的值)与风味名称的值合并,热量值280分配给分量大小
如何解决此问题并允许SAS导入具有特殊字符的数据 尝试告诉SAS读取文件时使用的编码 我使用Windows记事本编辑器将示例行复制并保存到文本文件中
%let path=C:\Downloads ;
data _null_;
infile "&path\test.txt" dsd encoding=wlatin1;
length x1-x3 $50 ;
input x1-x3;
put (_all_) (=);
run;
结果显示在日志中
x1=Crème Brûlée x2=105 x3=280
NOTE: 1 record was read from the infile "C:\Downloads\test.txt".
The minimum record length was 20.
The maximum record length was 20.
#汤姆:请问,有没有一个函数或Perl正则表达式来代替表变量中的重音符号,而不是Translate?谢谢大家!@D.O.尝试BASECHAR()函数。