带有特殊字符的 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.