全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2070 11
2012-11-06
悬赏 10 个论坛币 已解决
data _null_;file "C:\Users\Administrator\Desktop\test.txt";put "library";put 'create("C:/Users/Administrator/Desktop/aaa.txt")';run;
程序如上,在桌面上生成一个txt的文档,其中包含两行字符串,第一行字符串为library,
第二行是create("C:/Users/Administrator/Desktop/mplus_test/efatest.txt")、

问题一,现在第二行我是使用单引号 ’ 来区分字符串中的双引号。如果我想使用%str,如下
put "%str(create("C:/Users/Administrator/Desktop/aaa.txt"))";
却无法实现目的,如果字符串中也含有单引号 ' 的话岂不是就不能用了?
问题二,如果字符串中想引用宏变量的话如又如何解决?
问题三,为了在TXT中换行,每行字符串前面都要打一个put好麻烦啊,有米有简单的方法。。。。

最佳答案

pobel 查看完整内容

data _null_; put "%str(create(%"C:/Users/Administrator/Desktop/aaa.txt%") &SYSDATE)"; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-6 16:54:10
data _null_;
put "%str(create(%"C:/Users/Administrator/Desktop/aaa.txt%")  &SYSDATE)";
run;
二维码

扫码加我 拉你入群

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

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

2012-11-6 17:02:43
忘了说了,是SAS程序,晕死。。。
先谢了~
二维码

扫码加我 拉你入群

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

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

2012-11-6 17:31:31
%let c=abcd;
data _null_;
file "";
put "&c" / 'd';
run;
/表示换行,引用宏变量,记得要在双引号里面,单引号是不解析宏变量的。
至于第一个问题,%str是生成宏变量的,好像不能这么使用。
二维码

扫码加我 拉你入群

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

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

2012-11-6 18:05:51
先谢谢楼上的,双引号里才能引用宏变量,这个我知道,问题是,我输出的TXT文档中,字符串是含有双引号的,如果我再用双引号引用宏变量的话,就会出错。所以我就想用%str这个命令来实现。
’/'换行这个还是很有用的,再次感谢~
二维码

扫码加我 拉你入群

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

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

2012-11-6 19:38:19
1. 引用宏变量的字符串用双引号;
2. 如果字符串中有双引号,那么用两个连续的双引号。

data _null_;
    file "C:\Users\Administrator\Desktop\test.txt";
    put "library";
    put "create(""C:/Users/Administrator/Desktop/aaa.txt"") &sysdate";
run;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群