Чтение файла CSV из защищенной ссылки с J - PullRequest
3 голосов
/ 18 апреля 2019

Я пытаюсь получить CSV-файл из https://www.alphavantage.co/ и передать значения для обработки J.

Я пробовал httpget и web / gethttp (на основе curl), но ударил стену обоимиЧто касается httpget, я не знаю, как передать https в функцию httpget.Я не смог заставить gethttp работать вообще.

ссылка будет выглядеть следующим образом (это демонстрационная ссылка): https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo&datatype=csv

моя пробная версия с httpget дает эту ошибку:

|domain error: httpget
   log    ;:^:_1 host;(":port);path

Как я могу использовать J, чтобы получить онлайн CSV и передать его в мой код?спасибо.

Редактировать: это моя платформа

Engine: j901/j64/linux
Beta-c: commercial/2019-04-03T10:18:09
Library: 9.01.03
Qt IDE: 1.8.1/5.5.1
Platform: Linux 64
Installer: J901 install
InstallPath: /home/sam/j901

1 Ответ

2 голосов
/ 19 апреля 2019

Используя приведенную выше ссылку, в Windows 10 у меня работает следующее:

   load 'web/gethttp csv'
   Link=: 'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=demo&datatype=csv'
   fixcsv gethttp Link
┌───────────────────┬────────┬────────┬────────┬────────┬────────┐
│timestamp          │open    │high    │low     │close   │volume  │
├───────────────────┼────────┼────────┼────────┼────────┼────────┤
│2019-04-18 16:00:00│123.3900│123.5000│123.3000│123.3700│1327949 │
├───────────────────┼────────┼────────┼────────┼────────┼────────┤
│2019-04-18 15:55:00│123.4100│123.4800│123.3000│123.3900│931359  │
├───────────────────┼────────┼────────┼────────┼────────┼────────┤
│2019-04-18 15:50:00│123.3250│123.4200│123.2900│123.4100│340777  │
└───────────────────┴────────┴────────┴────────┴────────┴────────┘
...

      JVERSION
Engine: j807/j64/windows
Release-d: commercial/2019-03-18T13:21:35
Library: 8.07.25
Qt IDE: 1.7.9s/5.9.6
Platform: Win 64
Installer: J807 install
InstallPath: c:/program files/j64-807
Contact: www.jsoftware.com

Похоже, что для Linux требуется дополнительный набор двойных кавычек, чтобы ссылка правильно интерпретировалась как curl или wget:

   fixcsv gethttp dquote Link
┌───────────────────┬────────┬────────┬────────┬────────┬────────┐
│timestamp          │open    │high    │low     │close   │volume  │
├───────────────────┼────────┼────────┼────────┼────────┼────────┤
│2019-04-18 16:00:00│123.3900│123.5000│123.3000│123.3700│1327949 │
├───────────────────┼────────┼────────┼────────┼────────┼────────┤
...

Двойные кавычки тоже хорошо работают для Windows, поэтому потенциально вы можете просто заключить в двойные кавычки ссылку, и она должна работать на разных платформах.

...