SAS-更改proc导入的CSV中的列格式

时间:2019-05-08 20:17:39

标签: csv sas

我不太清楚如何更改数据文件中列的格式。我导入了数据集proc,它猜测特定列的格式为数字,我希望基于字符。

这是我目前所在的位置,它不会更改NUMBER列的格式:

proc import
    datafile = 'datapath'
    out = dataname
    dbms = CSV
    replace
;
    format NUMBER $8.
;
    guessingrows = 20000
;
run;

3 个答案:

答案 0 :(得分:1)

您可以导入数据,然后使用后进行格式化-我相信下面的方法会起作用。

proc sql;
   create table want as
  select *, 
      put(Number, 4.) as CharacterVersion
 from data;

退出;

答案 1 :(得分:0)

您不能通过PROC IMPORT更改类型/格式。但是,您可以编写一个数据步骤以读取文件,然后自定义所有内容。如果不确定如何开始,请在运行PROC IMPORT后检查日志,日志中将带有“ skeleton”代码。您可以复制该代码,对其进行编辑,然后运行以获取所需的代码。从头开始编写也可以使用INFILE和INPUT语句。

答案 2 :(得分:0)

从帮助文件中(搜索“在SAS中处理分隔文件”)

  

如果在过程运行后需要修改代码,请在生成的DATA步骤中发出RECALL命令(或按F4键)。此时,您可以在INFILE语句中添加或删除选项,并自定义数据的INFORMAT,FORMAT和INPUT语句。

当然,本节中的语法太可怕了!这个想法是IMPORT过程生成可重新调用和修改以供后续提交的源代码。