将特殊字符和 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中将变量定义为字符应该可以。
我有一个包含许多 "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中将变量定义为字符应该可以。