Sas导出程序返回一个不可读的csv

时间:2014-07-16 10:36:28

标签: r sas

我正在写一个宏来运行一个csv,并且在宏中创建了56个csv文件,当我尝试在记事本中打开其中一个时,它会打开56,当它打开并且值都是日本人看

%let loca=/bayer/aparajith.chandran/Input;
%macro state_separate();
%do i = 1 %to &cnt_state.;
%let temp= %scan(&state.,&i.);
    data test1.onco_&temp.;
    set test.onco_LG_input;
    if state ne "&temp." then delete;
    run;
    proc export data=test1.onco_&temp.
    outfile="&loca./onco_&temp..csv"
    replace
    dbms=csv;
    delimiter=",";
%end;   

%mend;

This is the output I get

这是什么原因???

该文件在excel中正常打开,但是当我尝试读取R中的文件时,它会给我警告并删除数据行。

为什么这???

1 个答案:

答案 0 :(得分:1)

我想这可能是由于在proc export-statement中使用了什么字符集来编码csv文件,而Notepad假设字符集是utf-8。

使用您指定编码的文件名语句似乎是一个可行的解决方案,如本文所述: Getting rid of BOM between SAS and R

FILENAME myfile 'C:\Documents ... file.txt'  encoding="utf-8";
proc export data=lib.sastable
outfile=myfile
dbms=tab  replace;
putnames=yes;
run;