Hello team,
I'm getting an error when sending a request through Refinitiv Data Library
Environment: Codebook
RD Version: 1.0.0b16
Note: it seems TR.MUNIRating is causing the bug.
Note 2: the same request run's fine in EDAPI.
Request:
import refinitiv.data as rd
rd.open_session()
instruments = ['PH010907888=']
lfields = [
'TR.RiskCountry',
'TR.RiskCountryCode',
'TR.CDSRefEntCtryCode2',
'TR.GR.Rating',
'TR.MUNIRating',
'TR.IssuerRating',
'TR.FiFitchsRating',
'TR.FiIssuerSPLongRating',
'TR.FiIssuerFitchLongRating',
'TR.FiSPRating',
'TR.FiIndustrySubSectorDescription'
]
rd.get_data(
universe=instruments,
fields=lfields
)
Result:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/tmp/ipykernel_229/2241032370.py in <module>
16 'TR.FiIndustrySubSectorDescription'
17 ]
---> 18 rd.get_data(
19 universe=instruments,
20 fields=lfields
/opt/conda/lib/python3.8/site-packages/refinitiv/data/_fin_coder_layer/get_data.py in get_data(universe, fields, parameters, use_field_names_in_headers)
73 if isinstance(universe, str):
74 universe = [universe]
---> 75 return _get_data(
76 _fundamental_data=fundamental_and_reference.Definition,
77 _pricing_stream=Stream(universe=universe, fields=fields),
/opt/conda/lib/python3.8/site-packages/refinitiv/data/_fin_coder_layer/get_data.py in _get_data(_fundamental_data, _pricing_stream, **kwargs)
175
176 columns = get_name_columns_without_datetime(result)
--> 177 result[columns] = result[columns].replace([pd.NaT, np.NaN], pd.NA)
178
179 return result
/opt/conda/lib/python3.8/site-packages/pandas/core/frame.py in __setitem__(self, key, value)
3598 self._setitem_frame(key, value)
3599 elif isinstance(key, (Series, np.ndarray, list, Index)):
-> 3600 self._setitem_array(key, value)
3601 elif isinstance(value, DataFrame):
3602 self._set_item_frame_value(key, value)
/opt/conda/lib/python3.8/site-packages/pandas/core/frame.py in _setitem_array(self, key, value)
3639 check_key_length(self.columns, key, value)
3640 for k1, k2 in zip(key, value.columns):
-> 3641 self[k1] = value[k2]
3642
3643 elif not is_list_like(value):
/opt/conda/lib/python3.8/site-packages/pandas/core/frame.py in __setitem__(self, key, value)
3600 self._setitem_array(key, value)
3601 elif isinstance(value, DataFrame):
-> 3602 self._set_item_frame_value(key, value)
3603 elif (
3604 is_list_like(value)
/opt/conda/lib/python3.8/site-packages/pandas/core/frame.py in _set_item_frame_value(self, key, value)
3727 len_cols = 1 if is_scalar(cols) else len(cols)
3728 if len_cols != len(value.columns):
-> 3729 raise ValueError("Columns must be same length as key")
3730
3731 # align right-hand-side columns if self.columns
ValueError: Columns must be same length as key