数据总是在SAS Proc Import(CSV)中被截断

时间:2016-02-11 13:04:30

标签: string csv sas truncation

我想阅读一堆CSV文件。例如,这个(movies_user.cleaned.csv)包含2个变量:uid(用户id)和movie_name。因为SAS只读取前20行来猜测字符串的长度,所以我的数据会被截断。 ("哈利波特"经常改为"哈利波特"依此类推。)

我知道我可以在我的代码中使用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;

你们可以帮我一点吗?谢谢!

1 个答案:

答案 0 :(得分:3)

手动运行PROC IMPORT。在日志中,您将看到它生成的DATA STEP代码。

复制该代码。

PROC IMPORT替换为DATA STEP

修改INFORMATFORMAT语句的大小,以便字段足够大。

使用前面的DATA STEP代码。