File tree Expand file tree Collapse file tree 9 files changed +22
-25
lines changed Expand file tree Collapse file tree 9 files changed +22
-25
lines changed Original file line number Diff line number Diff line change 11from copy import copy
22import pandas_to_sql
33from pandas_to_sql .testing .utils .fake_data_creation import create_fake_dataset
4- from pandas_to_sql .utils . helpers import flatten_grouped_dataframe
4+ from pandas_to_sql .conventions import flatten_grouped_dataframe
55
66table_name = 'random_data'
77df , _ = create_fake_dataset ()
Original file line number Diff line number Diff line change 1+ from pandas_to_sql .conventions .groupby_conventions import flatten_grouped_dataframe
Original file line number Diff line number Diff line change 1+ import pandas as pd
2+ from pandas_to_sql .utils .pandas_dataframe_intercepter import PandasDataFrameIntercepter
3+ from copy import copy
4+
5+ def flatten_grouped_dataframe (df ):
6+ if not isinstance (df , PandasDataFrameIntercepter ):
7+ raise Exception (f"can only get type { str (type (PandasDataFrameIntercepter ))} " )
8+
9+ df_c = copy (df .df_pandas )
10+ if isinstance (df_c , pd .core .series .Series ):
11+ series_name = df_c .name
12+ new_col_name = list (filter (lambda k : k .startswith (series_name ), df .df_sql_convert_table .columns .keys ()))[0 ]
13+ df_c = df_c .reset_index ().rename (columns = {series_name : new_col_name })
14+ else :
15+ df_c .columns = df_c .columns .map ('_' .join )
16+ df_c = df_c .reset_index ()
17+ return PandasDataFrameIntercepter (df_c , copy (df .df_sql_convert_table ))
Original file line number Diff line number Diff line change 11import pytest
22from pandas_to_sql .testing .utils .asserters import assert_
3- from pandas_to_sql .utils . helpers import flatten_grouped_dataframe
3+ from pandas_to_sql .conventions import flatten_grouped_dataframe
44from copy import copy
55import pandas as pd
66import pandas_to_sql
Original file line number Diff line number Diff line change 11from datetime import timedelta , datetime
22import pytest
33from pandas_to_sql .testing .utils .asserters import assert_ , get_expected_and_actual
4- from pandas_to_sql .utils .helpers import flatten_grouped_dataframe
54from copy import copy
65import pandas as pd
76import pandas_to_sql
Original file line number Diff line number Diff line change 11import pytest
22from pandas_to_sql .testing .utils .asserters import assert_
3- from pandas_to_sql .utils . helpers import flatten_grouped_dataframe
3+ from pandas_to_sql .conventions import flatten_grouped_dataframe
44
55
66
Original file line number Diff line number Diff line change 11import pytest
22from pandas_to_sql .testing .utils .asserters import assert_
3- from pandas_to_sql .utils . helpers import flatten_grouped_dataframe
3+ from pandas_to_sql .conventions import flatten_grouped_dataframe
44from copy import copy
55
66
Original file line number Diff line number Diff line change 11from datetime import timedelta , datetime
22import pytest
33from pandas_to_sql .testing .utils .asserters import assert_ , get_expected_and_actual
4- from pandas_to_sql .utils .helpers import flatten_grouped_dataframe
54from copy import copy
65import pandas as pd
76import pandas_to_sql
Original file line number Diff line number Diff line change 11import pandas as pd
2- from pandas_to_sql .engine .table import Table
3- from pandas_to_sql .engine .grouped_table import GroupedTable
4- from pandas_to_sql .utils .pandas_dataframe_intercepter import PandasDataFrameIntercepter
5- from copy import copy
6-
7- ## Conventions
8- def flatten_grouped_dataframe (df ):
9- if not isinstance (df , PandasDataFrameIntercepter ):
10- raise Exception (f"can only get type { str (type (PandasDataFrameIntercepter ))} " )
11-
12- df_c = copy (df .df_pandas )
13- if isinstance (df_c , pd .core .series .Series ):
14- series_name = df_c .name
15- new_col_name = list (filter (lambda k : k .startswith (series_name ), df .df_sql_convert_table .columns .keys ()))[0 ]
16- df_c = df_c .reset_index ().rename (columns = {series_name : new_col_name })
17- else :
18- df_c .columns = df_c .columns .map ('_' .join )
19- df_c = df_c .reset_index ()
20- return PandasDataFrameIntercepter (df_c , copy (df .df_sql_convert_table ))
212
223
234## Types
You can’t perform that action at this time.
0 commit comments