全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3110 6
2022-07-31
采用如下代码导入一个含有多列长中文字符的Excel XLSX文件

proc import
        datafile='D:\A.xlsx'
        out=A
        dbms=xlsx replace;       
run;

运行后出现很多行如下内容的警告:
WARNING: 列“D0601b at obs 1131”的转码过程中,某些字符型数据丢失。
WARNING: 列“D0801c at obs 55894”的转码过程中,某些字符型数据丢失。
列D06010b、D0801c 都是含有中文字符的字符串变量。其中,D0801c 还是比较长的字符串。

使用的是中文SAS 9.4 M0正版。这个问题是和中文编码有关系吗?请问该如何写代码避免读入数据而造成的字符型数据丢失?谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2022-8-3 12:09:15
dbms=用的是xlsx?换excel试试,再不行就先转成csv,再再不行就直接换成access文件
二维码

扫码加我 拉你入群

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

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

2022-8-3 20:47:50
nightmeal 发表于 2022-8-3 12:09
dbms=用的是xlsx?换excel试试,再不行就先转成csv,再再不行就直接换成access文件
不知道为什么之前写的code被截断了。

是的,dbms=xlsx。

谢谢解答,我可以尝试一下。不过这个导入的设计的确有点不友好…
二维码

扫码加我 拉你入群

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

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

2022-8-10 14:51:04
运行一下:option validvarname=any;试试看,允许读入中文
二维码

扫码加我 拉你入群

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

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

2022-8-11 09:17:52
shanfei1386 发表于 2022-8-10 14:51
运行一下:option validvarname=any;试试看,允许读入中文
谢谢,我试试。
二维码

扫码加我 拉你入群

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

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

2022-9-14 09:24:19
换用unicode的版本开,应该就好了,应该是部分生僻字或者符号没有
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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