2016-07-19 18 views
1

ich erfolgreich die Rblpapi von R verwenden kann:Mit Rblpapi über rpy2

> library("Rblpapi") 
> conn <- blpConnect(host='myhost', port=18194) 
> bds("SPX Index", "INDX_MEMBERS") 

Member Ticker and Exchange Code 
500 XYL UN 
501 YHOO UW 
502 YUM UN 
503 ZBH UN 
504 ZION UW 

Allerdings kann ich es nicht von Python verwenden:

>>> from rpy2.robjects.packages import importr 
>>> r = importr('Rblpapi') 
>>> r.blpConnect(host='myhost', port=18194) 
>>> print r.bds('SPX Index', 'INDEX_MEMBERS') 
NULL 

Die blpconnect() Aufruf zu funktionieren scheint (Fehler werden ausgelöst, wenn der Dienst nicht verfügbar ist), aber ich weiß nicht, wie ich das weiter debuggen kann.

+0

Was wir sind Standard data.frame Objekte zurück, die _should_ Transfer ganz gut rpy2. Aber ich kenne die R (und C++) Seite der Dinge und weniger darüber, wie Sie es in Python erhalten ... –

Antwort

3

Sie haben INDX_MEMBERS falsch geschrieben

print r.bds('SPX Index', 'INDX_MEMBERS') 

funktioniert wie erwartet

+0

Sehr guter Fang! –

+0

Wer ist das "Du" hier? –

1

Warum? Bloomberg gibt Ihnen reichlich Python APIs ready-made.

+0

Ich benutze die Desktop-API von Linux, die nicht unterstützt wird –

+0

ich nicht folgen. Was wird oder wird nicht unterstützt? –