gpt4 book ai didi

sas - 从一行文本文件中读取数据到 SAS

转载 作者:行者123 更新时间:2023-12-04 22:25:01 26 4
gpt4 key购买 nike

我正在尝试弄清楚如何读取文本文件 (300mb) 中以逗号分隔但数据位于一行中的数据。

数据看起来像这样:

a,b,c,d,e,f,g,h,i,j,k,l,m,false,false,true,1,379,0,,1,1,1,1,1,1,0,1,0,6,0,6,0,6,6,6,6,6,6,6,6,6,0,6,0,0,0,0,0,0,0

这里从 A 到 M 的数据是变量名,其余是这些变量的数据。谁能帮我将这些数据读入 SAS?

非常感谢!

最佳答案

最好的办法是通过两次读入:行定界步骤和读入步骤。

我建议首先对行使用 TERMSTR=",",这样一个字段就有大量的行。然后弄清楚你的行应该在哪里终止,并将其变成单行,输出到一个文件,其中包含一个 normal-for-your-os 行终止符。

然后你可以用正常的读入方法读入。

例如,假设我有一个包含这一行的文件:

a,b,c,d,e,f,1,2,3,4,5,6,7,8,9,10,11,12

然后我就可以这样读了。

filename oneline "c:\temp\oneline.csv";
filename intermed temp;

%let numfields=6;

data _null_;
infile oneline termstr=",";
file intermed dlm=',';
do _i = 1 to &numfields;
input line $;
putlog line;
put line @;
end;
put;
run;

data want;
infile intermed dlm=',' firstobs=2;
input a b c d e f;
run;

您还可以添加更多代码来解析第一行并将其放入宏变量或包含文件,然后您可以使用该文件在后面的数据步骤中生成 input 行,但我离开了作为读者的练习。

关于sas - 从一行文本文件中读取数据到 SAS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29925041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com