楼主: 逍遥梦蝶
3206 6

[问答] 使用Proc Import导入含有中文字符的XLSX文件出现警告如何解决? [推广有奖]

  • 3关注
  • 18粉丝

院士

7%

还不是VIP/贵宾

-

威望
0
论坛币
17967 个
通用积分
1001.6930
学术水平
111 点
热心指数
117 点
信用等级
87 点
经验
90188 点
帖子
704
精华
0
在线时间
5116 小时
注册时间
2009-5-22
最后登录
2026-1-22

楼主
逍遥梦蝶 发表于 2022-7-31 16:08:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
采用如下代码导入一个含有多列长中文字符的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正版。这个问题是和中文编码有关系吗?请问该如何写代码避免读入数据而造成的字符型数据丢失?谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:xlsx文件 import xlsx Port xls

沙发
nightmeal 发表于 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。

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

板凳
shanfei1386 学生认证  发表于 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的版本开,应该就好了,应该是部分生僻字或者符号没有

7
hgee 发表于 2022-11-4 13:57:30
文字问题吗

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 12:28