String SAS Proc导入(CSV)中的数据总是被截断

String SAS Proc导入(CSV)中的数据总是被截断,string,csv,sas,truncation,String,Csv,Sas,Truncation,我想读入一堆CSV文件。例如,这个(movies\u user.cleaned.csv)包含两个变量:uid(用户id)和movie\u name。因为SAS只读取前20行来猜测字符串的长度,所以我的数据会被截断。(《哈利波特》经常改成《哈利波特》等等。) 我知道我可以在代码中使用guessingrows=32767(32767是可以使用的最大值)让SAS检查前32767行,但我认为这不够安全,无法确保没有截断。我的一些CSV比这个大得多 以下是我使用的代码: proc import dataf

我想读入一堆CSV文件。例如,这个(movies\u user.cleaned.csv)包含两个变量:uid(用户id)和movie\u 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;

你们能帮我一点忙吗?谢谢

手动运行
PROC IMPORT
。在日志中,您将看到它生成的
数据步骤
代码

复制那个密码

PROC IMPORT
替换为
数据步骤

编辑
INFORMAT
FORMAT
语句的大小,使字段足够大


使用
数据步骤
继续编码。

您也可以在导入后打开一个新的编辑器窗口,然后按F4键,这将调用上次提交的代码。保存从日志中复制并删除行号gree,除非他使用的是企业指南,否则您不能。除非我错过了这个功能(除非我必须使用EG),我不知道,但我已经8年没有使用EG了!在日志中选择代码时按住Shift键以避免行号。使用此方法,您是否必须事先知道变量需要多少字节?