diff --git a/src/caosadvancedtools/table_converter.py b/src/caosadvancedtools/table_converter.py index 74bd857cdbc6f7e3473884fbf988017ef200ef88..9b98fb92b8a2b45d7363e4bbb013893967eeca94 100644 --- a/src/caosadvancedtools/table_converter.py +++ b/src/caosadvancedtools/table_converter.py @@ -65,14 +65,19 @@ def to_table(container): if {p.name for p in rec.parents} != rts: raise ValueError("Parents differ") + row_dict = {} for prop in rec.get_properties(): propname = generate_property_name(prop) - if isinstance(prop.value, list): - if propname not in df: - df[propname] = pd.Series(dtype=object) - elif df[propname].dtype != object: - df[propname] = df[propname].astype(object) - df.at[ii, propname] = prop.value + row_dict[propname] = prop.value + # if propname == "p5": + # breakpoint() + # if isinstance(prop.value, list): + # if propname not in df: + # df[propname] = pd.Series(dtype=object) + # elif df[propname].dtype != object: + # df[propname] = df[propname].astype(object) + # df.at[ii, propname] = prop.value + df.loc[ii] = row_dict return df diff --git a/unittests/test_table_converter.py b/unittests/test_table_converter.py index 460f88af312048fffd20d6ada9afaa2b44b532d6..6c9438c66252ad71ef36f804392c584762db76fa 100644 --- a/unittests/test_table_converter.py +++ b/unittests/test_table_converter.py @@ -77,8 +77,11 @@ class TableTest(unittest.TestCase): r2.add_property("p2", value=[20, 21]) r2.add_property("p3", value=[30, 31]) r2.add_property("p4", value=[40.0, 41.0]) + r3 = db.Record() + r3.add_parent("no1") + r3.add_property("p5", value=[50, 51]) c = db.Container() - c.extend([r1, r2]) + c.extend([r1, r2, r3]) to_table(c)