请选择 进入手机版 | 继续访问电脑版
楼主: Arsaces
4050 2

infile批量导入出错,请问各路大神应该怎么改? [推广有奖]

  • 2关注
  • 2粉丝

硕士生

78%

还不是VIP/贵宾

-

威望
0
论坛币
5421 个
通用积分
10.9939
学术水平
8 点
热心指数
8 点
信用等级
7 点
经验
1652 点
帖子
66
精华
0
在线时间
248 小时
注册时间
2012-10-6
最后登录
2023-5-6

Arsaces 发表于 2016-3-10 20:06:55 |显示全部楼层 |坛友微信交流群
5论坛币
本人的程序:
%macro import(num);
%do num=1 %to 21;
DATA TRD_Data&num (Label="");
Infile ''C:\Users\John\Desktop\PRD\TRD_Dalyr&num..txt'' encoding="utf-8" delimiter = '09'x Missover Dsd lrecl=32767 firstobs=2;
Format Stkcd $6.;
Format Trddt $10.;
Format Clsprc 9.2;
Format Dnshrtrd 12.;
Format Dnvaltrd 16.2;
Format Dretwd 10.4;
Format Dretnd 10.4;
Informat Stkcd $6.;
Informat Trddt $10.;
Informat Clsprc 9.2;
Informat Dnshrtrd 12.;
Informat Dnvaltrd 16.2;
Informat Dretwd 10.4;
Informat Dretnd 10.4;
Label Stkcd="证券代码";
Label Trddt="交易日期";
Label Clsprc="日收盘价";
Label Dnshrtrd="日个股交易股数";
Label Dnvaltrd="日个股交易金额";
Label Dretwd="考虑现金红利再投资的日个股回报率";
Label Dretnd="不考虑现金红利的日个股回报率";
Input Stkcd $ Trddt $ Clsprc Dnshrtrd Dnvaltrd Dretwd Dretnd ;
Run;
%end;
%mend;
%import();


日志:(最后一部分)

49: 无法确定 LINE 和 COLUMN。
NOTE: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
NOTE 49-169: 加引号字符串后的标识符的含义可能在将来的 SAS 版本中更改。
             建议在加引号的字符串和其后的标识符之间插入空格。
49: 无法确定 LINE 和 COLUMN。
NOTE: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
NOTE 49-169: 加引号字符串后的标识符的含义可能在将来的 SAS 版本中更改。
             建议在加引号的字符串和其后的标识符之间插入空格。
23: 无法确定 LINE 和 COLUMN。
NOTE 242-205: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
ERROR 23-2: 选项名称“C”无效。
23: 无法确定 LINE 和 COLUMN。
NOTE 242-205: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
ERROR 23-2: 选项名称“USERS”无效。
23: 无法确定 LINE 和 COLUMN。
NOTE 242-205: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
ERROR 23-2: 选项名称“JOHN”无效。
23: 无法确定 LINE 和 COLUMN。
NOTE 242-205: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
ERROR 23-2: 选项名称“DESKTOP”无效。
23: 无法确定 LINE 和 COLUMN。
NOTE 242-205: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
ERROR 23-2: 选项名称“PRD”无效。

NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.TRD_DATA21 可能不完整。该步停止时,共有 0 个观测和 7 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒


最佳答案

longgb246 查看完整内容

复制你的代码发现: Infile ''C:\Users\John\Desktop\PRD\TRD_Dalyr&num..txt'' 这个地方你用的不是双引号,而是2个单引号并在一起。
关键词:infile 批量导入 file NFI delimiter SAS 数据导入 infile
longgb246 学生认证  发表于 2016-3-10 20:06:56 |显示全部楼层 |坛友微信交流群
复制你的代码发现:
Infile ''C:\Users\John\Desktop\PRD\TRD_Dalyr&num..txt''
这个地方你用的不是双引号,而是2个单引号并在一起。

使用道具

Arsaces 发表于 2016-3-11 09:54:01 |显示全部楼层 |坛友微信交流群
longgb246 发表于 2016-3-10 20:06
复制你的代码发现:
Infile ''C:\Users\John\Desktop\PRD\TRD_Dalyr&num..txt''
这个地方你用的不是双引号 ...
确是如此,非常感谢!

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-18 09:25