-2
votes

Accès à la table KDB + / Q via Python à Json?

J'essaie d'accéder au tableau KDB + / Q via Python. Je sais qu'il y a des bibliothèques qui aident les communications entre Python et Q, mais je voulais voir s'il est possible de le faire sans utiliser des bibliothèques ci-dessus car il existe certaines contraintes sur la version KDB +.

Mon devin initial était:

  1. Définir la table dans kdb + q; Accédez à KDB via Python à l'aide de Urllib- urllib.request.get ("localhost: 5000? .j.k table_name") Mais cela n'a pas réussi.

  2. Une autre approche que j'avais utilisée avec pd.read_csv ("localhost: 5000 / q.csv? Sélectionnez de la table ...") Mais cette approche n'a pas pu fonctionner en raison de l'erreur HTTP 406.

    Quels sont les moyens flexibles / faciles de récupérer la table KDB de Python? Toute conseille / orientation serait appréciée. Merci


0 commentaires

3 Réponses :


2
votes

PYQ est éventuellement l'approche la plus couramment utilisée et la mieux prise en charge. Vous dites que vous avez des contraintes de version, mais Pyq existe depuis longtemps et je suis sûr que vous pourriez télécharger des versions compatibles avec les versions plus anciennes de KDB.

Si non, d'autres options sont:

https://github.com/exxeleron/qpython

https://code.kx.com/q/interfaces/embedpy/

et quelques options documentées ici: http://www.timestored.com/ KDB-GUIDES / PYTHON-API

à travers tous ceux-ci, je suis sûr que vous trouverez quelque chose qui fonctionne


0 commentaires

0
votes

Une meilleure option est d'utiliser API déjà disponible pour l'intégration Python-Q comme mentionné par @Terrylynch. Cela simplifiera de nombreuses opérations et sera également plus efficace pour la plupart des cas.

Mais si vous voulez le faire totalement en Python à l'aide de demandes HTTP, vous pouvez utiliser le module 'Demandes': < pré> xxx

sortie d'échantillon xxx

Comme vous pouvez le constater, cela vous donnera du texte HTML afin que vous ayez besoin de l'analyser pour obtenir le résultat de la tag obligatoire. Il y a quelques modules Python disponibles pour l'analyse HTML, de sorte que vous puissiez les utiliser.


0 commentaires

3
votes

J'ai pu utiliser les deux méthodes que vous avez suggérées avec succès

>>> import pandas as pd
>>> pd.read_csv("http://localhost:35207/.csv?trades")
                            time   sym src  price  size
0  2019-02-07D08:00:53.319000000  ORCL   N  32.23  1099
1  2019-02-07D08:01:26.649000000  YHOO   O  35.52   471
2  2019-02-07D08:01:36.413000000  YHOO   L  35.52   438


0 commentaires