小编mar*_*ari的帖子

将API连接到kdb数据库

简单的问题 - 我已经使用Python 3.6成功连接到Coinbase API并在我的控制台中接收BTC买/卖价格.

我想将它连接到一个kdb数据库并开始创建一个滴答数据的HDB,但我对如何构建这个设置有点困惑,即将get请求推送到数据库进行存储.我的python代码看起来像......

api_key = 'XXXXX'
api_secret = 'XXXXX'
from coinbase.wallet.client import Client
import time, requests


client = Client(api_key, api_secret)


starttime = time.time()
while True:
    buy_price = client.get_buy_price(currency_pair = 'BTC-USD')
    sell_price = client.get_sell_price(currency_pair = 'BTC-USD')
    time.sleep(10.0)
    print(buy_price)
    print(sell_price)
    print("=-=-=-=-=-=")
Run Code Online (Sandbox Code Playgroud)

控制台打印Feed,看起来像......

{
  "amount": "8034.79",
  "base": "BTC",
  "currency": "USD"
}
{
  "amount": "7875.67",
  "base": "BTC",
  "currency": "USD"
}
=-=-=-=-=-=
{
  "amount": "8034.80",
  "base": "BTC",
  "currency": "USD"
}
{
  "amount": "7875.97",
  "base": "BTC",
  "currency": "USD"
}
=-=-=-=-=-=
Run Code Online (Sandbox Code Playgroud)

在本地存储这些数据的任何指导都会有所帮助.如果您需要任何其他信息,请与我们联系.

先感谢您!

python kdb python-3.x

3
推荐指数
1
解决办法
994
查看次数

如何将列表的每个元素与另一个列表的每个元素左连接

我有2个列表,每个列表包含50个表。每个列表中的每个表都有一个称为ID... 的列。

count list1
50
count list2
50
Run Code Online (Sandbox Code Playgroud)

我希望能够在列表中的每个表上执行左联接到第二个列表中的每个表(使用ID列作为键列),然后将每个联接的结果保存在每个联接的单独变量中。

通过执行以下操作,我可以分别对每个表执行左联接(以索引27的表为例)。这样就为表的第27个索引提供了所需的结果...

table27:list1[27] lj `ID xkey list2[27]
Run Code Online (Sandbox Code Playgroud)

在下一组表执行相同操作之前,如何遍历表列表,将每个表按其各自的索引连接并将该连接的表存储到变量中?

到目前为止,我已经尝试了以下方法来加入表格...

joinedLists:each list1 lj `ID xkey each list2
joinedLists:(each list1) lj `ID xkey each list2
joinedLists:(each list1) lj' `ID xkey each list2
joinedLists:lj/[(each list1;each list2)]
joinedLists:lj/'[(each list1;each list2)]
joinedLists:list1[1+til 51] lj `ID xkey list2[1+til 51]
Run Code Online (Sandbox Code Playgroud)

尽管上述所有查询(最后一个查询除外)都会导致错误的错误消息'。我尝试的最后一个查询给出了结果,但是在进一步检查该列表中的表时,它缺少一列并且计数不是预期的...

count each list1
913930 799359 53212 20 70 6 116 8 139 16 74 28 3 69 11 137 6 22 42 …
Run Code Online (Sandbox Code Playgroud)

kdb

1
推荐指数
1
解决办法
108
查看次数

有没有办法在kdb中迭代字母表?

我正在编写一个函数来选择数据库中以字母"A"开头的所有符号,后跟"B",直到字母"Z".我有一个虚拟表设置3个字符,如下所示...

t:([]symbol:`A`App`B`Bapp`C`Capp; price:104.3 124.3 134.2 103.4 402.7 209.8; ID:1 2 3 4 5 6)
Run Code Online (Sandbox Code Playgroud)

以及从符号看起来像x的表中选择的函数...

fetch:{[x;y]select from x where symbol like y}
Run Code Online (Sandbox Code Playgroud)

然后我为每个字母调用函数并将其复活到一个新表...

fetchedA:h (`fetch; `t; "A*")
fetchedB:h (`fetch; `t; "B*")
fetchedC:h (`fetch; `t; "C*")
Run Code Online (Sandbox Code Playgroud)

新的空表和upsert函数......

newNormData:([]symbol:`$(); price:`float$(); ID:`int$())
newNorm:{[x] `newNormData upsert x}

h (`newNorm; fetchedA)
h (`newNorm; fetchedB)
h (`newNorm; fetchedC)
Run Code Online (Sandbox Code Playgroud)

我不想为每个服务器进行26次函数调用,而是要进行1次调用,遍历字母表中的每个字符.在kdb/q中执行此操作的正确方法是什么?

kdb

0
推荐指数
1
解决办法
196
查看次数

标签 统计

kdb ×3

python ×1

python-3.x ×1