楼主: sunquan3075
10798 15

[问答] 如何导入excel中的时间日期变量 [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
124 点
帖子
19
精华
0
在线时间
16 小时
注册时间
2010-1-25
最后登录
2013-11-8

楼主
sunquan3075 发表于 2011-1-6 13:00:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
把昨天的问题重新问一遍,再详细一些的
excel表中有一个变量X是时间日期型的,如:200901表示09年1月
问:应该用什么方法将其导入至SAS?
input/infile 貌似只能支持从txt中导入数据
而直接用import,导入后200901会被认为是数值型的变量。
请教各位大牛
二维码

扫码加我 拉你入群

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

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

关键词:EXCEL 日期变量 xcel exce cel 时间 EXCEL 变量

回帖推荐

baoaibaobao 发表于9楼  查看完整内容

7# sunquan3075 其中变量b相当于你的newdate2str~~,试试!

本帖被以下文库推荐

沙发
jessicamin 发表于 2011-1-6 17:15:36
用infile导入,导入的时候
format date yymmn6.;
informat date yymmn6.;
input date;

藤椅
sunquan3075 发表于 2011-1-6 17:17:31
2# jessicamin
那请问如何用infile导入。xls的文件啊?每次导入都报错。。

板凳
baoaibaobao 发表于 2011-1-6 17:18:56
3# sunquan3075 把你的导入程序贴上来看看`

报纸
sunquan3075 发表于 2011-1-6 17:29:04
4# baoaibaobao
9    data a;
10   infile "d:\resdat\dataset1.xls";
11   input eventID $20. name $6. lovation $6. date yymmn6.;
12   run;
NOTE: Infile "d:\resdat\dataset1.xls" 是:
      文件名=d:\resdat\dataset1.xls,
      RECFM=V,LRECL=256
NOTE: 从 Infile "d:\resdat\dataset1.xls" 中读取了 1 条记录。
       最小记录长度是 6。
       最大记录长度是 6。
NOTE: INPUT 语句到达一行的末尾,SAS 已转到新的一行。
NOTE: 数据集 WORK.A 有 0 个观测和 4 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间         0.09 秒

地板
baoaibaobao 发表于 2011-1-6 21:07:13
先用import导入excel文件,然后再对日期格式进行设置

7
sunquan3075 发表于 2011-1-7 00:51:28
6# baoaibaobao
这样不可以吧?
date变量里面已经有观测了,就不能对它再进行设置了。。。

proc import out=a
datafile='e:\resdat\dataset1.xls'
dbms=excel97
replace;
run;
data a(keep=newdate2str mon);
set a;
informat newdate2str yymmn6.;
format newdate2srt yymmn6.;
mon=month(newdate2str);output;
run;

结果是:
NOTE: 变量 newdate2srt 未初始化。
NOTE: 从数据集 WORK.A 读取了 1334 个观测。
NOTE: 数据集 WORK.A 有 1334 个观测和 5 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间         0.07 秒
      CPU 时间         0.01 秒

mon里面并不是newdate2str的月份。。。

8
pwseason 发表于 2011-1-7 04:56:44
要用format和informat

9
baoaibaobao 发表于 2011-1-7 08:35:31
7# sunquan3075
  1. proc import out=a
  2. datafile='e:\resdat\dataset1.xls'
  3. dbms=excel2003
  4. replace;
  5. run;
  6. data b;
  7. set a;
  8. year=input(substr(strip(put(b,$12.)),1,4),4.);
  9. month=input(substr(strip(put(b,$12.)),5,2),2.);
  10. date=MDY(month,1,year);
  11. format date yymmn6.;
  12. run;
复制代码



其中变量b相当于你的newdate2str~~,试试!
已有 1 人评分学术水平 热心指数 收起 理由
论坛数据分析 + 2 + 2 观点有启发

总评分: 学术水平 + 2  热心指数 + 2   查看全部评分

10
sunquan3075 发表于 2011-1-8 01:47:57
9# baoaibaobao
好想法!strip函数没用过呢。。

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

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