2016-02-11 80 views
1

我想讀取一堆CSV文件。例如,這個(movies_user.cleaned.csv)包含2個變量:uid(用戶標識)和movie_name。由於SAS只讀取前20行來猜測字符串的長度,所以我的數據被截斷。 (「哈利波特」經常變成「哈利波特」等)。SAS Proc導入(CSV)中的數據總是被截斷

我知道我可以在我的代碼中使用guessingrows = 32767(32767是可以使用的最大值)讓SAS檢查第32767行,但我認爲這不夠安全以確保不會截斷。我的一些CSV的方式比這更大。

這裏是代碼我使用:

proc import datafile="H:\FBDATA_CLEANED\facebookdata2\movies_user.cleaned.csv" 
out=thesis.activities2 
dbms=csv 
replace; 
getnames=yes; 

run; 

你們能幫我一點嗎?謝謝!

回答

3

手動運行PROC IMPORT。在日誌中,您將看到它生成的DATA STEP代碼。

複製該代碼。

DATA STEP代替PROC IMPORT

編輯INFORMATFORMAT語句的大小,以便該字段足夠大。

使用DATA STEP代碼前進。

+0

您也可以在導入後打開一個新的編輯器窗口,然後按F4鍵,它將調用上次提交的代碼。保存從日誌中複製並刪除行號 – Longfish

+0

同意,除非他使用Enterprise Guide,否則不行。除非我錯過了這個功能(除非必須,否則我不會使用EG)。 – DomPazz

+0

我不知道,但我沒有使用EG約8年! – Longfish