请选择 进入手机版 | 继续访问电脑版
楼主: nkunku
8293 6

[问答] 【proc import如何导入unicode格式的txt文件】 [推广有奖]

  • 7关注
  • 73粉丝

院士

22%

还不是VIP/贵宾

-

威望
1
论坛币
191013 个
通用积分
207.6077
学术水平
212 点
热心指数
240 点
信用等级
161 点
经验
11163 点
帖子
3199
精华
0
在线时间
2942 小时
注册时间
2010-4-23
最后登录
2024-3-29

nkunku 发表于 2013-4-3 12:02:38 |显示全部楼层 |坛友微信交流群
5论坛币
我有一个unicode格式的txt文件(附件q3.txt),首行是变量名,其余是数据。数据之间以(一个)空格分隔。如“11.jpg”所示。然后我用以下语句导入:
proc import datafile="c:\q3.txt"
out=work.w3
dbms=dlm
replace;
getnames=yes;
run;
proc print data=work.w3;
run;

结果如图“22.jpg”所示。很明显导入虽然成功,但
(1)都是文本,而不是数据;
(2)任意字符间都有一个空格;
(3)而且还莫名其妙地多出一行。
对于其他的格式(tab或csv),我会的,如dbms=tab;dbms=csv
我想要的结果像图“33.jpg”所示。可就是不会弄。哪位朋友帮帮忙?
11.jpg
22.jpg
33.jpg

q3.txt

782 Bytes

最佳答案

zhengbo8 查看完整内容

首先,要说明你的文本文件格式是ucs-2 little endian,要使用UTF-16来读取,才不会出现空格。 另外,没有必要用IMPORT过程,这个容易出错,格式不好控制。 SAS代码: 截图: sorry,第二个图是错的,是firstobs=设置错了。
关键词:unicode import Port code ROC import 如何 而且

本帖被以下文库推荐

zhengbo8 发表于 2013-4-3 12:02:39 |显示全部楼层 |坛友微信交流群
首先,要说明你的文本文件格式是ucs-2 little endian,要使用UTF-16来读取,才不会出现空格。
另外,没有必要用IMPORT过程,这个容易出错,格式不好控制。

SAS代码:

  1. data a;
  2.     infile 'C:\q3.txt' firstobs=2  ENCODING='utf-16' TRUNCOVER;
  3.     input name $ sex $ age 2. height :4.1 weight;
  4. run;
复制代码

截图:
2013-04-03_143436.gif


sorry,第二个图是错的,是firstobs=设置错了。

2013-04-03_143436.gif
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 100 热心帮助其他会员
webgu + 10 + 10 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 10  论坛币 + 110  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

nkunku 发表于 2013-4-3 16:55:58 |显示全部楼层 |坛友微信交流群
zhengbo8 发表于 2013-4-3 14:41
首先,要说明你的文本文件格式是ucs-2 little endian,要使用UTF-16来读取,才不会出现空格。
另外,没有必 ...
哎呀,这么快就搞定了?!谢谢你。给你该得的悬赏哈。下次有问题还向你请教。

使用道具

zkymath 在职认证  发表于 2013-4-4 22:59:51 |显示全部楼层 |坛友微信交流群
赫本挺好

使用道具

zhentao 发表于 2013-4-7 10:30:35 |显示全部楼层 |坛友微信交流群
zhengbo8 发表于 2013-4-3 12:02
首先,要说明你的文本文件格式是ucs-2 little endian,要使用UTF-16来读取,才不会出现空格。
另外,没有必 ...
很热心。

使用道具

asdfg1372000 发表于 2017-6-28 11:31:35 |显示全部楼层 |坛友微信交流群
zhengbo8 发表于 2013-4-3 12:02
首先,要说明你的文本文件格式是ucs-2 little endian,要使用UTF-16来读取,才不会出现空格。
另外,没有必 ...
太赞了,正好碰到这个问题,搜到本帖顺利解决。

使用道具

zhengbo8 发表于 2013-4-3 12:02
首先,要说明你的文本文件格式是ucs-2 little endian,要使用UTF-16来读取,才不会出现空格。
另外,没有必 ...
Naïve怎么导入sas,求助求助,嘤嘤嘤,嘤嘤嘤

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 14:01