From e25de48a2e6326ab991e73d47b6287a519f48db0 Mon Sep 17 00:00:00 2001
From: Daniel <d.hornung@indiscale.com>
Date: Wed, 24 Apr 2024 11:33:33 +0200
Subject: [PATCH] WIP

---
 src/caosadvancedtools/table_converter.py | 17 +++++++++++------
 unittests/test_table_converter.py        |  5 ++++-
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/caosadvancedtools/table_converter.py b/src/caosadvancedtools/table_converter.py
index 74bd857c..9b98fb92 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 460f88af..6c9438c6 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)
 
 
-- 
GitLab