aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/bbg_helpers.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/python/bbg_helpers.py b/python/bbg_helpers.py
index 8566a5d1..9cd586f6 100644
--- a/python/bbg_helpers.py
+++ b/python/bbg_helpers.py
@@ -56,10 +56,16 @@ def event_loop(session, request):
if ev.eventType() == blpapi.Event.RESPONSE:
raise StopIteration
+def get_pythonvalue(e):
+ if e.datatype() in [blpapi.DataType.DATE, blpapi.DataType.DATETIME]:
+ return pd.to_datetime(e.getValue())
+ else:
+ return e.getValue()
+
def field_array_todf(field):
- df = pd.DataFrame.from_dict([{str(e.name()): e.getValue() for e in f.elements()} \
+ df = pd.DataFrame.from_dict([{str(e.name()): get_pythonvalue(e) for e in f.elements()} \
for f in field.values()])
- return df.convert_objects(convert_dates='coerce')
+ return df
def process_historical_msg(msg):
securityData = msg.getElement("securityData")
@@ -78,9 +84,9 @@ def process_reference_msg(msg):
if not field.isValid():
logger.info("Invalid field: {0}".format(str(field)))
elif field.isArray():
- row[str(field.name())] = field_array_todf(field) #to convert dates to timestamps
+ row[str(field.name())] = field_array_to_df(field) #to convert dates to timestamps
else:
- row[str(field.name())] = field.getValue()
+ row[str(field.name())] = get_pythonvalue(field)
data[securityName] = row
return data