A**P 发帖数: 260 | 1 要读入下面的数据格式:
Date,Open,High,Low,Close,Volume,Adj Close
05Mar2009,47.56,51.95,46.98,,0,50.17
04Mar2009,48.02,48.83,45.02,47.56,0,47.56
为了正确处理第一行的missing value,使用了DSD option。程序如下:
data index.vix;
infile "Z:\public\vix.csv" dlm=',' dsd firstobs=2;
input Date anydtdte. Open High Low Close Volume AdjClose;
run;
SAS always assign missing values to variable Open. Can anyone help? |
p********a 发帖数: 5352 | 2 YAHOO的股市DATA?你把DATE FORMAT改成DATE9.就可以了
看看俺的MACRO
%macro getdata(tic);
FILENAME myurl URL "http://ichart.finance.yahoo.com/table.csv?s=&tic";
DATA &tic;
INFILE myurl FIRSTOBS=2 missover dsd;
format date yymmdd10.;
INPUT Date: yymmdd10. Open High Low Close Volume Adj_Close ;
if date>=today()-180;
RUN; |
p********a 发帖数: 5352 | |
A**P 发帖数: 260 | 4 多谢你的回复。
我本来是用来读yahoo数据的。无意中发现这个问题。你能否帮我看看为啥出错?改成
任何date format 都一样出错。
【在 p********a 的大作中提到】 : YAHOO的股市DATA?你把DATE FORMAT改成DATE9.就可以了 : 看看俺的MACRO : %macro getdata(tic); : FILENAME myurl URL "http://ichart.finance.yahoo.com/table.csv?s=&tic"; : DATA &tic; : INFILE myurl FIRSTOBS=2 missover dsd; : format date yymmdd10.; : INPUT Date: yymmdd10. Open High Low Close Volume Adj_Close ; : if date>=today()-180; : RUN;
|
A**P 发帖数: 260 | 5 多谢,就是少了:的问题。
【在 p********a 的大作中提到】 : 对了,别忘记了在FORMAT前加个:
|
I**A 发帖数: 96 | 6 如果把date的格式写成date10就可以,date9 or date11 都不行。
input Date date10. Open High Low Close Volume AdjClose;
但是原始数据05Mar2009用date9应该可以。长工可否解释一下。 |
A**P 发帖数: 260 | 7 我的程序问题在于要加上冒号。可是,format前不加冒号有时也不出问题。我原帖中的
程序,删掉DSD后,对于没有missing value的文件也都不出错。
大牛们能不能给说说,何时format前必须加冒号?BTW,anydtdte. 是sas 9.0以后的懒
人format,可以读任何sas认得的date format。 |
l***a 发帖数: 12410 | 8 when the date is like "5feb2009", it's 8 digits but not 9, you will need the
colon to help
【在 A**P 的大作中提到】 : 我的程序问题在于要加上冒号。可是,format前不加冒号有时也不出问题。我原帖中的 : 程序,删掉DSD后,对于没有missing value的文件也都不出错。 : 大牛们能不能给说说,何时format前必须加冒号?BTW,anydtdte. 是sas 9.0以后的懒 : 人format,可以读任何sas认得的date format。
|
p********a 发帖数: 5352 | 9 if length>8 then colon is necessary. Date9. reads 9 characters.
【在 A**P 的大作中提到】 : 我的程序问题在于要加上冒号。可是,format前不加冒号有时也不出问题。我原帖中的 : 程序,删掉DSD后,对于没有missing value的文件也都不出错。 : 大牛们能不能给说说,何时format前必须加冒号?BTW,anydtdte. 是sas 9.0以后的懒 : 人format,可以读任何sas认得的date format。
|
g*******y 发帖数: 380 | 10 Not sure this is correct for your question.
"When using an informat with list input, the colon-format modifier is
required to correctly associate the informat with the variable name." |