楼主: O(∩_∩)O~!
2780 11

[原创博文] 请问这样的数据如何读入? [推广有奖]

  • 0关注
  • 1粉丝

已卖:8份资源

讲师

18%

还不是VIP/贵宾

-

威望
0
论坛币
3994 个
通用积分
13.4290
学术水平
6 点
热心指数
16 点
信用等级
5 点
经验
8886 点
帖子
276
精华
0
在线时间
333 小时
注册时间
2010-8-5
最后登录
2022-8-16

楼主
O(∩_∩)O~! 发表于 2011-5-12 18:00:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有一个文本数据集,变量个数无法统计,长度也都不一样,请问这样的数据集如何读入?
见附件,非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:变量个数 非常感谢 文本数据 数据集 如何 统计

回帖推荐

soporaeternus 发表于4楼  查看完整内容

Have a try.Maybe it's useful.

本帖被以下文库推荐

沙发
sas_user 发表于 2011-5-13 03:42:12
1# O(∩_∩)O~!

PROC IMPORT OUT= test
DATAFILE= "C:\text.txt" ;
DBMS=DLM
REPLACE;
DELIMITER=
',';
GETNAMES=YES;
DATAROW=
2;
RUN;

藤椅
O(∩_∩)O~! 发表于 2011-5-17 14:46:41
sas_user 发表于 2011-5-13 03:42
1# O(∩_∩)O~!

PROC IMPORT OUT= test
DATAFILE= "C:\text.txt" ;
DBMS=DLM
REPLACE;
DELIMITER=
',';
GETNAMES=YES;
DATAROW=
2;
RUN;
这样不行

板凳
soporaeternus 发表于 2011-5-17 16:03:32
  1. data _null_;
  2.         infile "D:\1.txt" LRECL=32767;
  3.         input f:$1.;
  4.         if _N_=1 then do;
  5.                 do i=1 to count(_infile_,',')+1 by 1;
  6.                         call symputx(compress('label'||i),scan(_infile_,i,','));
  7.                 end;
  8.                 call symputx ('nvar',count(_infile_,',')+1);
  9.         end;
  10.         stop;
  11. run;

  12. %put &nvar;

  13. %MACRO t;
  14. data a;
  15.         infile "D:\1.txt" LRECL=32767 dlm=',' firstobs=2;
  16.         input %do i=1 %to &nvar %by 1;x&i :$20.%end;;
  17.         label
  18.                 %do i=1 %to &nvar %by 1;
  19.                         x&i="&&label&i"
  20.                 %end;
  21.         ;
  22. run;
  23. %MEND t;
  24. %t;
复制代码
Have a try.Maybe it's useful.
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
醉_清风 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

Let them be hard, but never unjust

报纸
wb8686 发表于 2011-5-17 17:34:09
soporaeternus
真厉害

地板
wb8686 发表于 2011-5-17 18:00:52
有个疑问: 原始数据存到txt 格式以后,会换行,也就是说,第一行的名字,在txt中,会分好多行存放,下面的数据也是这样。那么sas 在从txt里读数据的时候,读入记录(_infile_)记录的是 txt中 的一行记录,还是原始数据的一行

7
O(∩_∩)O~! 发表于 2011-5-18 10:25:18
4# soporaeternus

可以的,非常感谢您!

8
soporaeternus 发表于 2011-5-18 10:30:08
wb8686 发表于 2011-5-17 18:00
有个疑问: 原始数据存到txt 格式以后,会换行,也就是说,第一行的名字,在txt中,会分好多行存放,下面的数据也是这样。那么sas 在从txt里读数据的时候,读入记录(_infile_)记录的是 txt中 的一行记录,还是原始数据的一行
我这边看是一行啊,通俗的话就是有很多软回车,但是硬回车还是只有一个。
Let them be hard, but never unjust

9
醉_清风 发表于 2011-5-18 14:19:40
4# soporaeternus

  input f:$1.;

这步是干嘛的呢?
从来不需要想起 永远也不会忘记

10
wb8686 发表于 2011-5-19 16:31:04
跟楼上的帅哥同问,input f:$1.,是输入,按$1.格式来读入,会不会不影响_infile_来记录读入的长度呢,楼上的,在那边工作,还用sas 吗

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 21:35