当前位置: 首页 > 知识库问答 >
问题:

导入csv文件时选择变量的格式

潘自强
2023-03-14

我是SAS的新手,我想导入一个csv文件。此文件有一列包含以0开头的字符(例如,0100005200),长度为5个字符。

当我用calc软件打开我的文件时,没有问题。但当我在SAS中导入时:

proc import file="myfile.csv"
    out=output
    dbms=csv;
run;

然后将该列视为数字列,因此删除第一个0。事后更改格式并不能解决我的问题。

是否有一种解决方案可以在读取csv之前指定格式导入,或者只有一种解决方案可以强制将所有列作为字符导入?

非常感谢!

共有1个答案

左丘恩
2023-03-14

最简单的解决方案是用程序读取文件,而不是强迫SAS猜测如何读取文件。PROC IMPORT将实际生成一个可以用作模型的程序。但写自己的并不难。然后您就可以完全控制变量的定义方式:NAME;类型(数字或字符);储存长度;标签用于显示的格式;用于从行中读取值的信息。

只需定义变量,附加任何必需的格式和/或信息,然后读取它们。例如,此步骤将从文件中读取两个数字和两个字符变量。我使其中一个字符变量具有日期值,以便您可以看到如何将格式和/或信息附加到需要它的变量。大多数变量既不需要信息,也不需要附加格式,因为SAS知道如何读写数字和字符串。

data output;
  infile "myfile.csv" dsd firstobs=2 truncover;
  length var1 $10 var2 8 var3 $30 var4 8;
  informat var4 date.;
  format var4 yymmdd10.;
  input var1 var2 var3 var4;
run;
 类似资料:
  • 为目标文件选择一个可用的导出格式。 【注意】Excel 文件格式是根据你的电脑里安装的 Microsoft Office 版本。Navicat 64-bit 版本不支持导出到 .mdb 文件。

  • 为源文件选择一个可用的导入类型。 【注意】Excel 文件格式是根据你的电脑里安装的 Microsoft Office 版本。

  • 为目标文件选择一个可用的导出格式。

  • 为源文件选择一个可用的导入类型。

  • 为目标文件选择一个可用的导出格式。

  • 为源文件选择一个可用的导入类型。