Source code for node_dataset_to_table

# This file is part of Sympathy for Data.
# Copyright (c) 2021 Combine Control Systems
#
# SYMPATHY FOR DATA COMMERCIAL LICENSE
# You should have received a link to the License with Sympathy for Data.

from sympathy.api import node, table, exceptions
from sympathy.api.nodeconfig import Port, Ports, Tag, Tags
from sylib_aml.dataset import DatasetPort


[docs] class DatasetToTables(node.Node): """ Convert Dataset to Table(s). """ name = "Dataset to tables (Experimental)" nodeid = "com.sympathyfordata.advancedmachinelearning.datasettotables" author = "Jannes Germishuys" icon = "ds2tables.svg" tags = Tags(Tag.MachineLearning.Processing) inputs = Ports([DatasetPort("Dataset", "dataset")]) outputs = Ports([Port.Tables("Tables", name="out_tables")]) def execute(self, node_context): from sylib_aml.amlnets import TabDataSet input_ds = node_context.input["dataset"] input_ds.load() input_ds = input_ds.get_ds() if input_ds is None: raise exceptions.SyDataError("Empty dataset") ds = TabDataSet( csv_file=input_ds["paths"], reader_config=input_ds["reader_config"], column_config=input_ds["column_config"], ) output_tables = node_context.output[0] for input_table in ds: output = table.File.from_dataframe(input_table) output_tables.append(output)