楼主: userzht
2741 20

[问答] EXCEL读入数据的奇怪错误 [推广有奖]

11
userzht 发表于 2015-2-13 15:39:15
sushe1527 发表于 2015-2-13 14:21
是不是表格的问题? 传上excel来 我给你看看
好的,传个TEST的吧,原本是CSV格式,后来我转成EXCEL了,要不直接用CSV也行。

还有一个问题,有一个身份证号列,导出来的时候是科学计数法,后四位全是零,我将好几个类似的CSV合并的时候,新的身份证号列变成只有前四位不是零了。我知道后四位全是零是因为没导成字符串,可合并的时候为什么会出现更多的零啊?

12
userzht 发表于 2015-2-13 16:03:31
sushe1527 发表于 2015-2-13 14:21
是不是表格的问题? 传上excel来 我给你看看
好啊,原表是一个CSV格式,我导成EXCEL了,这里直接贴CSV吧。

另外,有一列是身份证号,导出来的时候是科学计数法,导致后三位全是零,当我将好几个这样的文件合并的时候,身份证列变成了只有前六位不是零了。后三位是零我知道是因为导出格式是数值而不是文本,但是合并文件后出现了更多的零我就不明白是为什么了。请问知道不?

13
userzht 发表于 2015-2-13 16:13:30
sushe1527 发表于 2015-2-13 14:21
是不是表格的问题? 传上excel来 我给你看看
好,原本是CSV格式,我导成EXCEL了,但CSV格式也可以用吧。
TEST.rar (27.34 KB) 本附件包括:
  • TEST.csv


我有一列本来应该是18位的数字文本,但因为导出来的时候不是文本格式而是科学计数法,所以后3位全是0。但是当我将几个类似的文件合并的时候,这一列只有前6位不是零,请问这个多出来的0是怎么回事呢?

14
sushe1527 发表于 2015-2-13 16:28:23
  1. proc import datafile="f:\test.csv"
  2. out=pad
  3. dbms=csv replace;
  4. getnames=yes;
  5. run;
复制代码

15
sushe1527 发表于 2015-2-13 16:31:25
你帖子提示错误 sheet1不存在,可能是你准备导入的excel第一张表叫test 不是叫sheet1

16
userzht 发表于 2015-2-13 16:47:39
sushe1527 发表于 2015-2-13 16:31
你帖子提示错误 sheet1不存在,可能是你准备导入的excel第一张表叫test 不是叫sheet1
是这样的。但是0的那个问题您知道吗?

17
sushe1527 发表于 2015-2-13 17:04:16
userzht 发表于 2015-2-13 16:47
是这样的。但是0的那个问题您知道吗?
科学计数法,位数太长就会后面全是0了,这个必须要文本格式才行  你是说18位的身份证号啊

18
sushe1527 发表于 2015-2-13 17:05:01
userzht 发表于 2015-2-13 16:47
是这样的。但是0的那个问题您知道吗?
长位科学计数法  必须要用文本格式

19
wpfwxn 发表于 2015-2-13 22:48:02
你列出的sheet明显不是sheet1,import过程需要加上sheet=‘’;

20
userzht 发表于 2015-2-15 09:19:00
wpfwxn 发表于 2015-2-13 22:48
你列出的sheet明显不是sheet1,import过程需要加上sheet=‘’;
嗯嗯,没错。

proc import datafile='C:\temp\test.xls' out=test dbms=excel replace;getnames=yes;sheet='test';run;

proc import datafile='C:\temp\test.xls' out=test dbms=excel replace;getnames=yes;range='test$';run;

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

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