2012-04-06 108 views
3

當我從csv文件導入具有長數字ID的文件到SAS中時,我想將數字轉換爲文本。但這些數字以科學記數法存儲,所以當它們轉換時,最後的數字全部變成零。SAS - 如何保存從科學記數法中的數字csv文件導入時的實際數字

例如,7.3139908E14轉身鮑7313990.8億,當它應該是731399076376199.

反正是有解決此問題?最終我需要做一些重複數據刪除操作,然後將該文件作爲文本文件導出。

謝謝!

+3

這看起來不像SAS問題,但是與您的csv文件有關。如果您查看csv文件,您是否看到7.3139908E14或731399076376199?如果這是第一種類型,SAS無法知道最後一位數字是什麼。您是否在Excel中創建了CSV文件?如果是這樣,你需要以不同的格式,所以它不會截斷變量。 – itzy 2012-04-07 01:41:31

+0

感謝您的回答!問題是我從數據庫中導出150萬行數據,我試過將它保存爲文本文件和csv文件。使用文本文件,我可以打開它,但我無法更改格式。使用csv文件,我可以從技術上改變格式,但它太大,我無法完全打開它。 – user1318306 2012-04-09 17:00:40

+0

你可以從.txt文件和.csv中發佈幾行嗎? – cmjohns 2012-04-10 15:18:01

回答

1

說你的數據看上去像(在第二CSV位置,即數字ID):

blah;7313990763761997;blah 

你可以做文件的一個簡單的讀,一行一行地直接訪問輸入緩衝器(在_INFILE_變量) :

filename mycsv "\path\to\mycsv.csv"; 

data mydata; 
    infile mycsv; 
    input; 
    length idvar $16; 
    idvar=scan(_infile_,2,";"); 
run; 

這將保留文本格式的數字,如果這就是你想要做的。

相關問題