将特殊字符和 NA 的 csv 导入 SAS 不起作用

Import of special characters & NA's of csv into SAS does not work

我有一个包含许多 "NA" 值和特殊字符(如 ä、ö 或 ß)的 csv 文件。我想通过 proc import 将此 csv 文件导入 SAS,但不幸的是我有两个问题:

1) NA 被读取为字符而不是缺失值

2) 特殊字符会自动变成@!+-~

当我将 csv 导入 R 时,我能够通过编码解决这两个问题 "UTF-8" - NA 被识别为缺失,特殊字符显示正确。我的想法是将文件从 R 导出为 dbf 文件并将此 dbf 文件导入 SAS。此过程解决了 NA 的问题,但是,特殊字符再次以错误的方式显示。我还在 SAS 中尝试了不同的编码,但也没有用。非常感谢任何帮助!

我会使用数据步骤而不是过程导入。它可能看起来像:

Data MyCSV;
  Infile "C:\MyName\ImportData.CSV"
         Delimiter="," LRecL=1000 DSD Missover Firstobs=2; * Firstobs=2 to delete col-names;
  Informat qty_txt . ; * 9 .. length in characters;
  If qty_txt ^= "NA" Then qty=Input(qty_txt,Best15.); Drop qty_txt;
Run;

(如果您要从 R 中导出,请在 write.csv 中设置 na=".")

关于特殊字符问题,在informat-statement中将变量定义为字符应该可以。