楼主: Silon.Jon
5179 40

[问答] 如何将一行很长的字符分成若干个观测 [推广有奖]

  • 7关注
  • 0粉丝

本科生

43%

还不是VIP/贵宾

-

威望
0
论坛币
1281 个
通用积分
0.0002
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2606 点
帖子
86
精华
0
在线时间
67 小时
注册时间
2012-9-12
最后登录
2015-5-1

楼主
Silon.Jon 发表于 2012-11-14 16:16:31 |AI写论文
10论坛币
一个文件叫F,里边就一行类似这样的字符:[a,b,c,d,e],[a,,c,d,],[,b,c,,]
请问怎么给它读成:
a b c d e
a  . c d  .
.  b c  .  .

最佳答案

ziyenano 查看完整内容

data a; infile "E:\a.txt" dlm=',' dsd _infile_=temp; input (x1-x5)($)@@; x1=compress(x1,'[]'); x5=compress(x5,'[]'); run;
关键词:如何

回帖推荐

davil2000 发表于16楼  查看完整内容

data a(drop=xx); infile 'temp1.txt' dlm=',' dsd lrecl=100000; input xx :$20. @@; x=compress(xx,'@[]'); run; %macro treat; %do i= 1 %to 24; data data&i(rename=(x=x&i)); set a; if mod(_n_,24)=&i * (&i^=24); run; %end; %mend treat; %macro Adata; data Adata; merge %do i= 1 %to 24; data&i %end; ; run; %mend ; %treat; %Adata; proc print data=Adata; run; ...

本帖被以下文库推荐

沙发
ziyenano 发表于 2012-11-14 16:16:32
data a;
infile "E:\a.txt" dlm=',' dsd  _infile_=temp;
input (x1-x5)($)@@;
x1=compress(x1,'[]');
x5=compress(x5,'[]');
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
davil2000 + 1 + 1 + 1 热心帮助其他会员

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

藤椅
Silon.Jon 发表于 2012-11-14 17:20:10
ziyenano 发表于 2012-11-14 16:16
data a;
infile "E:\a.txt" dlm=',' dsd  _infile_=temp;
input (x1-x5)($)@@;
用SAS的帮助想找那个_infile_=temp什么意思,真心费力……

板凳
Silon.Jon 发表于 2012-11-14 17:22:05
ziyenano 发表于 2012-11-14 16:16
data a;
infile "E:\a.txt" dlm=',' dsd  _infile_=temp;
input (x1-x5)($)@@;
还有啊,为什么去掉(x1-x5)等的括号,就不行了呢,普及一下常识吧……

报纸
ziyenano 发表于 2012-11-14 17:29:13
Silon.Jon 发表于 2012-11-14 17:22
还有啊,为什么去掉(x1-x5)等的括号,就不行了呢,普及一下常识吧……
_infile_temp 在这里没什么用,当时想用其他方法试试的,忘记删除了;

(x1-x5)($) 相当于x1 $ x2 $ ....x5 $ 的简写

地板
Silon.Jon 发表于 2012-11-14 17:34:02
ziyenano 发表于 2012-11-14 17:29
_infile_temp 在这里没什么用,当时想用其他方法试试的,忘记删除了;

(x1-x5)($) 相当于x1 $ x2 $ .. ...
那比如说a的地方变成一个字符串比如“A A&a a/A”,就是包含了内部的分隔符“空格”之类的,是不是将$改成$长度呢?

7
ziyenano 发表于 2012-11-14 17:36:11
Silon.Jon 发表于 2012-11-14 17:34
那比如说a的地方变成一个字符串比如“A A&a a/A”,就是包含了内部的分隔符“空格”之类的,是不是将$改成 ...
(x1-x5)(:$8.)
这么写也没问题

8
Silon.Jon 发表于 2012-11-14 17:47:22
ziyenano 发表于 2012-11-14 17:36
(x1-x5)(:$8.)
这么写也没问题
冒号是什么意思呢?

9
ziyenano 发表于 2012-11-14 17:48:59
Silon.Jon 发表于 2012-11-14 17:47
冒号是什么意思呢?
这个冒号,我记得论坛上有个帖子讲得特别清楚,你搜一下,我一下也讲不全

10
Silon.Jon 发表于 2012-11-14 17:58:02
ziyenano 发表于 2012-11-14 17:48
这个冒号,我记得论坛上有个帖子讲得特别清楚,你搜一下,我一下也讲不全
加了:,好像不从第一行读了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 20:58