使用 J 从受保护的 link 读取 CSV 文件
Reading CSV file from a a secured link with J
我正在尝试从 https://www.alphavantage.co/ 获取 CSV 文件并将值传递给 J 进行处理。
我尝试了 httpget 和 web/gethttp(基于 curl)但是两者都碰壁了,至于 httpget 我不知道如何将 https 传递给 httpget 函数。
我根本无法让 gethttp 工作。
link 看起来像这样(这是一个演示 link):
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
使用您在上面给出的 link,以下对我在 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 似乎需要一组额外的双引号才能使 link 被 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,因此您可以只用双引号 link,它应该可以跨平台工作。
我正在尝试从 https://www.alphavantage.co/ 获取 CSV 文件并将值传递给 J 进行处理。
我尝试了 httpget 和 web/gethttp(基于 curl)但是两者都碰壁了,至于 httpget 我不知道如何将 https 传递给 httpget 函数。 我根本无法让 gethttp 工作。
link 看起来像这样(这是一个演示 link): 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
使用您在上面给出的 link,以下对我在 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 似乎需要一组额外的双引号才能使 link 被 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,因此您可以只用双引号 link,它应该可以跨平台工作。