【发布时间】:2021-01-10 21:00:57
【问题描述】:
我们如何在 colnames 中导入具有特定字符的 csv 文件?当我用 Visual Code 打开这个 CSV 时,2 个 colnames 包含这个字符。有没有办法通过 proc import(不是 datastep)来导入我的文件?
SAS 9.04 版
我试试这个:
filename test2 "my_file.csv" encoding="utf-8" ;
proc import datafile= test2
out=my_df
dbms=dlm
replace;
delimiter=";";
getnames=yes;
GUESSINGROWS=MAX;
run;
引发错误:
ERROR: Invalid string.
ERROR: Invalid string.
ERROR: Invalid string.
Nombre de noms trouvé inférieur au nombre de variables trouvé.
Le nom n'est pas un nom SAS correct.
Problèmes détectés dans les noms fournis. Consultez le Journal.
....
ERROR: Invalid string.
FATAL: Unrecoverable I/O error detected in the execution of the DATA step program. Aborted during
the EXECUTION phase.
【问题讨论】:
-
您使用的是哪个版本的 SAS?我在 9.4M7,它给了我这个警告,但导入成功:
WARNING: A character that could not be transcoded has been replaced in record 0.输入%put &sysvlong.并发布结果。 -
鉴于语言差异,我怀疑编码可能是个问题。您的文件编码和您的 SAS 编码默认设置为什么?
-
此外,数据步骤很简单 - 日志应该包含您在下面包含的问题之上的数据步骤的代码 - 不确定您为什么不考虑使用它。跨度>
-
%put &sysvlong 的结果。 9.04.01M3P062415
-
我想编码文件是 utf-8 因为 � 对应 é。默认 sas 编码是 WLatin1。