带有特殊字符的 SAS 输入数据
SAS INPUT DATA WITH 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 :. portion_size calories;
RUN;
它有这个问题:
flavor_name=Cr�me Br�l�e,105 portion_size=280 calories=
如你所见,portion_size的值105与flavor_name的值合并,卡路里的值280被分配给portion_size。
如何解决这个问题,让SAS导入带有特殊字符的数据?
尝试告诉 SAS 在读取文件时使用什么编码。
我使用 Windows 记事本编辑器将您的样本行复制并保存到文本文件中。
%let path=C:\Downloads ;
data _null_;
infile "&path\test.txt" dsd encoding=wlatin1;
length x1-x3 ;
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.
我正在尝试将一些 dat 文件(以逗号分隔)导入 SAS 大学。但是,一个变量包含特殊字符(例如法语口音)。大部分都换成了�,但也有一些观察结果有些问题。
问题示例:
数据中的原始观察如下所示:
Crème Brûlée,105,280
运行 以下命令:
DATA BenAndJerrys;
INFILE '/folders/myfolders/HW3/BenAndJerrys.dat' DLM = ',' DSD MISSOVER;
INPUT flavor_name :. portion_size calories;
RUN;
它有这个问题:
flavor_name=Cr�me Br�l�e,105 portion_size=280 calories=
如你所见,portion_size的值105与flavor_name的值合并,卡路里的值280被分配给portion_size。
如何解决这个问题,让SAS导入带有特殊字符的数据?
尝试告诉 SAS 在读取文件时使用什么编码。
我使用 Windows 记事本编辑器将您的样本行复制并保存到文本文件中。
%let path=C:\Downloads ;
data _null_;
infile "&path\test.txt" dsd encoding=wlatin1;
length x1-x3 ;
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.