From 45384af9c096256a4c9817ddb0c63b3befa86eaf Mon Sep 17 00:00:00 2001
From: Florian Spreckelsen <f.spreckelsen@indiscale.com>
Date: Tue, 30 Jul 2024 10:21:24 +0200
Subject: [PATCH] FIX: Don't fail when datatype definitions don't occur in
 table

---
 src/caosadvancedtools/table_importer.py | 2 ++
 unittests/test_table_importer.py        | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/caosadvancedtools/table_importer.py b/src/caosadvancedtools/table_importer.py
index 90f82e7e..72a51c0f 100755
--- a/src/caosadvancedtools/table_importer.py
+++ b/src/caosadvancedtools/table_importer.py
@@ -546,6 +546,8 @@ class CSVImporter(TableImporter):
             error_dict = {}
             columns_with_errors = []
             for key, dtype in self.datatypes.items():
+                if key not in df.columns:
+                    continue
                 try:
                     df[key].astype(dtype)
                 except (TypeError, ValueError):
diff --git a/unittests/test_table_importer.py b/unittests/test_table_importer.py
index 7a330ddf..768e3f0c 100644
--- a/unittests/test_table_importer.py
+++ b/unittests/test_table_importer.py
@@ -398,7 +398,8 @@ class CSVImporterTest(TableImporterTest):
         kwargs = {
             "datatypes": {
                 "int": int,
-                "float": float
+                "float": float,
+                "not-in-table": str  # An unused datatype definition must not cause problems.
             },
             "obligatory_columns": ["int"],
             "converters": {}
-- 
GitLab