全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10070 8
2016-08-17
导入一个csv数据时,字段数可能有100多个,里面有些字段会因为长度而自动换行了,该怎样读入?谢谢

假设原数据如下

name compheigh
Johnwom
shangh

175

Jerryzhongshang
yike

165


二维码

扫码加我 拉你入群

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

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

全部回复
2016-8-18 10:34:11
csv是跟txt差不多的东西,不会因为长度过长导致换行的,估计是你用excel打开查看有问题,或者里面是有一个换行符。
建议用一些其他工具查看其中换行部分的ASCII编码,确定是否有特殊字符如'0A'x。
读入的时候,如果没有肯定没问题,如果读入有误,建议在infile statement 加入选项 termstr=CRLF
二维码

扫码加我 拉你入群

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

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

2016-8-18 20:47:12
prince315 发表于 2016-8-18 10:34
csv是跟txt差不多的东西,不会因为长度过长导致换行的,估计是你用excel打开查看有问题,或者里面是有一个换 ...
我用UE打开,变量因为长度问题而换行了,本来一行结果变成了两行,非常谢谢你的解答
二维码

扫码加我 拉你入群

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

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

2016-8-19 10:32:20
VAR=tranwrd(VAR,'0A'x,'');
VAR=tranwrd(VAR,'0D'x,'');

试试这个? VAR为变量名,将VAR换成例子中的COMP
二维码

扫码加我 拉你入群

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

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

2016-8-19 10:57:22
G狼顾之鬼 发表于 2016-8-19 10:32
VAR=tranwrd(VAR,'0A'x,'');
VAR=tranwrd(VAR,'0D'x,'');
这种做法,在于如果是已经正确读入成SAS data了,不过仍有这些换行符可能造成其他问题,就这么处理,比如之前说的用termstr=CRLF读入成功。
如果换行的问题很大,导致读入数据就已经有问题,那就麻烦多了。

如果依旧不确定,建议楼主放部分原始文件样例出来,大家好看一下问题是什么
二维码

扫码加我 拉你入群

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

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

2016-8-19 17:02:28
prince315 发表于 2016-8-19 10:57
这种做法,在于如果是已经正确读入成SAS data了,不过仍有这些换行符可能造成其他问题,就这么处理,比如 ...
,刚在infile里用了termstr=CRLF,那个问题解决了,非常感谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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