Import SAS帮助:每隔一行读取缺少行的DAT文件

Import SAS帮助:每隔一行读取缺少行的DAT文件,import,sas,Import,Sas,我目前正在尝试从人口普查局网站导入数据,但它似乎不起作用 以下是我正在使用的特定文件的直接链接: 数据存储在DAT文件中。当我在Notepad++中打开数据时,我注意到每隔一行就有丢失的行。我使用此代码读取数据,但它不起作用: 文件名rawdat“C:\Data\Users\Dee\Census\Raw\2011至2015\AK1115.dat” 数据中心数据; 密苏里州拉瓦达市; 输入@1状态2。 @3项目系列1。; 运行 我写这段简短的代码只是为了确保我至少捕获了州FIPs代码和预计的系列。

我目前正在尝试从人口普查局网站导入数据,但它似乎不起作用

以下是我正在使用的特定文件的直接链接:

数据存储在DAT文件中。当我在Notepad++中打开数据时,我注意到每隔一行就有丢失的行。我使用此代码读取数据,但它不起作用:

文件名rawdat“C:\Data\Users\Dee\Census\Raw\2011至2015\AK1115.dat”

数据中心数据; 密苏里州拉瓦达市; 输入@1状态2。 @3项目系列1。; 运行


我写这段简短的代码只是为了确保我至少捕获了州FIPs代码和预计的系列。我做错了什么?这个问题还有其他解决方法吗?

状态和项目系列是字符,所以您需要
$
来读取它们

data test;
  infile "c:\temp\ak1115.dat";
  input 
    @1 state $2.
    @3 projcode $1.
  ;
run;

SAS实际上忽略了明显的额外行,因为它们是
0d0a
。第一个
0D
(回车符)使记事本转到下一行,而第二个
0D0A
再次执行相同的操作-但是SAS通常会忽略第一个
0D
。它可能会在最后一个数据字段中显示为一个字符,因此小心不要读取超过位置137。

不确定为什么会标记为[Stata],我无法在SAS上发表太好的评论,但您可以尝试一件事,因为您正在Notepad++中查看数据,因此可以查看符号(查看、显示符号、显示行尾),然后使用查找和替换工具将任何双回车替换为单回车:查找
\r\r
并替换为
\r
你好,乔,你是最好的!我现在觉得自己很愚蠢。我一直认为州FIPs代码是数字。我想不会吧!非常感谢@MDEE_huynh州FIPS代码是数字。这些是“州邮政缩写代码”,而不是FIPS代码。