Постановка проблемы: мне нужно получить данные из Интернета и поместить их в набор данных SAS с помощью программы SAS.
Сработало хорошо: я могу получить содержимое целевой веб-страницы с помощью SAS.
Не работает (нужна помощь): мне не удается обработать исходное содержимое страницы (показано ниже) с помощью SAS. Мне нужно найти категорию в исходном контенте и, если она найдена, получить все значения для этой строки (NOV, OCT, SEP, AUG, JUL). Точно так же мне нужно найти Conference Board в исходном контенте и, если он найден, получить все значения для этой строки (96,1,101,4,101,3,86,3,91,7). Ожидается, что структура исходного контента всегда останется неизменной. Ожидаемый результат прилагается в виде png-изображения. Было бы здорово узнать и помочь, если бы кто-то знал и помог мне, как справиться с этим сценарием с помощью программы SAS.
Я пробовал что-то вроде этого:
filename output "/desktop/Response.txt";
proc http
url="http://hosting.briefing.com/cschwab/Calendars/EconomicReleases/conf.htm"
method="get"
proxyhost="&proxy_host."
proxyport=&port
out=output;
run;
DATA CHECK;
LENGTH CATEGORY $ 5;
RETAIN CATEGORY;
INFILE output LENGTH = recLen LRECL = 32767;
INPUT line $VARYING32767. recLen;
IF FIND(line,'Category') GT 0 THEN DO;
CATEGORY = SCAN(STRIP(line),2,'<>');
OUTPUT;
END;
RUN;
Исходный контент веб-страницы:
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr valign="top" align="right" class="sectionColor">
<td class="rH" align="left">Category</td>
<td class="rH">NOV</td>
<td class="rH">OCT</td>
<td class="rH">SEP</td>
<td class="rH">AUG</td>
<td class="rH">JUL</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rD" align="left">Conference Board</td>
<td class="rD">96.1</td>
<td class="rD">101.4</td>
<td class="rD">101.3</td>
<td class="rD">86.3</td>
<td class="rD">91.7</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rL" align="left"> Expectations</td>
<td class="rL">89.5</td>
<td class="rL">98.2</td>
<td class="rL">102.9</td>
<td class="rL">86.6</td>
<td class="rL">88.9</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rD" align="left"> Present Situation</td>
<td class="rD">105.9</td>
<td class="rD">106.2</td>
<td class="rD">98.9</td>
<td class="rD">85.8</td>
<td class="rD">95.9</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rL" align="left">Employment ('plentiful' less 'hard to get')</td>
<td class="rL">7.2</td>
<td class="rL">7.1</td>
<td class="rL">3.3</td>
<td class="rL">-2.2</td>
<td class="rL">2.2</td>
</tr>
<tr valign="top" align="right" class="sectionColor">
<td class="rD" align="left">1 yr inflation expectations</td>
<td class="rD">5.7%</td>
<td class="rD">5.6%</td>
<td class="rD">5.7%</td>
<td class="rD">5.8%</td>
<td class="rD">6.1%</td>
</tr>
</table>
Вывод набора данных SAS должен быть таким: