楼主: 邢不行
10505 12

[原创博文] 用import语句导入csv格式数据,为什么会自动忽略小数点后的数字 [推广有奖]

已卖:1906份资源

院士

10%

还不是VIP/贵宾

-

威望
1
论坛币
26755 个
通用积分
155.8944
学术水平
489 点
热心指数
509 点
信用等级
460 点
经验
53138 点
帖子
585
精华
26
在线时间
1199 小时
注册时间
2010-4-30
最后登录
2025-12-31

楼主
邢不行 在职认证  发表于 2011-1-20 21:01:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我用以下语句导入以csv格式文件

  1. PROC IMPORT OUT= WORK.w000002
  2.             DATAFILE= "E:\000002.SZ.CSV"
  3.             DBMS=CSV REPLACE;
  4.      GETNAMES=YES;
  5.      DATAROW=2;
  6. RUN;
复制代码



可以成功导入,但是导入后一个变量A的数值与原文件中该变量的数值有差异,sas将原来文件中的小数点后面的数字给去掉了,比如原文件中变量A的一个值为9.71,导入到sas后变量A的该值就变为9.,在sas中显示的不是9,而是9.。

而其他的变量,例如变量B,同样是数值变量,也有小数,但是就能完整的准确的导入。

请各位大侠帮帮忙,帮我看看问题出在哪里

谢谢

附件中是原始文件和导入后文件的截图
二维码

扫码加我 拉你入群

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

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

关键词:import Port 小数点 replace place import 小数点

导入后数据截图.png (4.32 KB)

导入后数据截图.png

csv格式数据截图.png (6.52 KB)

csv格式数据截图.png

沙发
rpg163 发表于 2011-1-20 21:20:13
建议先查一下读入的Var19是不是字符型,从截图上看,可能读入时的类型是$2.

藤椅
邢不行 在职认证  发表于 2011-1-20 21:46:46
有道理! var19和var20一样,一开始连续好多个的观测都是缺省--,到后来才有观测的值。

那...应该如何解决这个问题呢...

板凳
rpg163 发表于 2011-1-20 21:56:31
我也遇到过类似的问题,后来是转成EXCEL读入的。
也可以尝试在IMPORT时用Informat控制读入的格式,不过不是很好用,我用的时候是没有成功。
当然,转为EXCEL的过程中可能会有其他变量遇到问题。我是分成两个文件分别读在合并

报纸
pinseng 发表于 2011-1-21 01:02:46
format 行不行?

地板
邢不行 在职认证  发表于 2011-1-21 08:25:29
5# pinseng

请问format具体怎么操作啊?

7
shenqidemama 发表于 2011-1-21 09:23:11
在CSV文件中把表示缺省值的“--”都替换成空值

8
rpg163 发表于 2011-1-21 10:27:36
恩 LS的方法可以试下

9
邢不行 在职认证  发表于 2011-1-21 15:58:30
谢谢各位的热心帮助

如果只处理一个csv文件,7楼的方法想上去确实可以

但是我要处理的不仅仅只有一个csv文件,而是批量处理好几千个,这种情况下7楼的方法就不行了...

10
邢不行 在职认证  发表于 2011-1-23 21:42:01
proc import语句中不能使用informat
怎么办啊,各位有什么好方法吗?

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

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