删除 SAS 数据集中的引号和空格

Removing quotes and spaces in SAS dataset

我在 SAS EGDI 工作,面临一个非常特殊的问题。

当我在 SAS DI Studio 或 EG 中查看数据集的列时,它看起来很好。但是当我将数据粘贴到记事本时,出现了一些 引号和空格

我在 EG 中看到的数据:

但复制到记事本中的数据相同,

多余的引号和空格像这样出现(在第 6 行):

当我将此字段用作联接中的键时,我发现了这个问题,第 6 行的其他相关列值不会进入输出,因为第 6 条记录的匹配失败。

我尝试了很多东西,比如 tranwrd、dequote 和 compress,但是 none 改变了我的结果。

有人可以帮助理解问题是什么以及如何解决这个问题。

看看专栏中的内容,以便您决定如何处理它。此查询将显示字符串和字符串的十六进制表示形式。

proc sql;
  select postcode,put(trim(postcode),$hex.) as hexcode,count(*) as nobs
    from x
    group by 1,2
  ;
quit;

因此,如果您看到 0A、0D、A0、08 等十六进制字符或其他不可打印的代码,那么您就可以弄清楚发生了什么。

所以您可能会看到大多数记录的 POSTCODE='LS5 3BT' 和 HEXCODE='4C533520334254'。但也许有一些看起来像 POSTCODE='LS5 3BT',但 HEXCODE 的值类似于“0A4C533520334254”,这意味着您在字符串的开头有一个换行符。或者也许在字符串中间有一个制表符 ('09'X) 而不是 space ('20'X)。