michellethomas commented on a change in pull request #4724: Improve database
type inference
URL:
https://github.com/apache/incubator-superset/pull/4724#discussion_r178666407
##########
File path: superset/dataframe.py
##########
@@ -41,26 +63,50 @@ class SupersetDataFrame(object):
'V': None, # raw data (void)
}
- def __init__(self, df):
- self.__df = df.where((pd.notnull(df)), None)
+ def __init__(self, data, cursor_description, db_engine_spec):
+ column_names = []
+ if cursor_description:
+ column_names = [col[0] for col in cursor_description]
+ self.column_names = dedup(column_names)
+
+ # check whether the result set has any nested dict columns
+ if data:
+ has_dict_col = any([isinstance(c, dict) for c in data[0]])
+ df_data = list(data) if has_dict_col else np.array(data,
dtype=object)
Review comment:
I added `dtype=object` just to solve an issue because np.array was erroring
with data with different types in a tuple (`[('str', 1, [1], 1.0)]`). The
`list(data) if...` logic was there already. `infer_objects` sounds like a good
option though.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services