全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7887 5
2013-05-10
数据集中字符长度在11位以上的(例如:128478473884949,18位身份证号),导出到 excel 或者 csv 中以科学计数法的形式显示。在sas 先对变量值进行处理,在前面加上“’”一个单引号,虽然 excel 中显示的数据正确了,但是单元格内 ‘128478473884949,为什么’单引号还显示出来啊???
二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-10 11:15:35
如果是身份证号的话,干脆就将其转化成字符变量,然后再导出到EXCEL中,应该就ok了
data test;
a=128478473884949;
b=put(a,18.);
run;
二维码

扫码加我 拉你入群

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

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

2013-5-10 15:51:16
20几位的数字型字符到的CSV 中显示为科学计数法,因此在SAS数据集中的变量前加上了' 符号,再导出到CSV则能正确显示,但将加了' 符号的导入到EXCEL 中单击单元格显示了两个' ' 符号,因此推断SAS数字型字符在EXCEL中显示为文本
二维码

扫码加我 拉你入群

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

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

2013-5-10 23:02:38
Eternal0601 发表于 2013-5-10 11:15
如果是身份证号的话,干脆就将其转化成字符变量,然后再导出到EXCEL中,应该就ok了
data test;
a=1284784 ...
复制代码
二维码

扫码加我 拉你入群

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

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

2013-5-11 11:22:00
邓贵大 发表于 2013-5-10 23:02
刚试了下,您这种方法效果也不是很好,貌似是直接转成字符更好点,单引号应该只是excel注明该值是字符而已
data test;
label a="Identity";
a=128478473884949;
b=put(a,18.);
c=cats('="', a, '"');
d=cats('=', a, ' ');
run;

proc export data=test outfile="c:\test.xls" dbms=excel label replace;
run;
二维码

扫码加我 拉你入群

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

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

2013-5-11 11:53:50
Eternal0601 发表于 2013-5-11 11:22
刚试了下,您这种方法效果也不是很好,貌似是直接转成字符更好点,单引号应该只是excel注明该值是字符而已 ...
sorry about my ignorance. I thought the destination was CSV.
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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