2017-06-02 111 views
1

我有一個帶有許多「NA」值和特殊字符(如ä,ö或ß)的csv文件。我想通過proc import導入這個CSV文件導入SAS,但不幸的是我有兩個問題:將特殊字符和NA的csv導入SAS不起作用

1)NA的讀爲字符,而不是遺漏值

2)特殊字符自動變成像@!+ - 〜

當我將csv導入R時,我能夠解決編碼爲「UTF-8」的兩個問題 - NA被識別爲缺失,特殊字符顯示正確。我的想法是將文件從R導出爲dbf文件,並將此dbf文件導入到SAS。這個程序解決了NA的問題,但是特殊字符再次以錯誤的方式顯示。我也在SAS中嘗試了不同的編碼,但那也沒有奏效。任何幫助非常感謝!

+1

您使用的是什麼版本的SAS? SAS會話使用什麼編碼? – Tom

+0

感謝您的回覆Tom,根據r.user.05apr的回答,我已經能夠解決我的問題了。 – JSP

回答

2

我會使用數據步驟而不是proc導入。它可能看起來像:

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

(如果要導出來自R設定NA =在write.csv「」)

關於特殊字符的問題,定義變量作爲字符在了信息-statement應該可以工作。

+0

非常感謝r.user.05apr,工作! – JSP