Пример #1
0
    def on_incoming_records(self, connection: ConnectionInterface) -> None:
        """Process records in batches."""
        input_df = connection.record_containers[0].build_dataframe()
        self.output_anchor1.push_records(
            generate_records_from_df(input_df,
                                     self.output_anchor1.record_info))
        self.output_anchor2.push_records(
            generate_records_from_df(input_df,
                                     self.output_anchor1.record_info))

        connection.clear_records()
Пример #2
0
    def on_incoming_records(self, connection: ConnectionInterface) -> None:
        """Process records in batches."""
        self.generate_metadata()

        df = connection.record_containers[0].build_dataframe()
        df["optional_value"] = self.workflow_config["Value"]

        self.output_anchor.push_records(
            generate_records_from_df(df, self.output_anchor.record_info))

        connection.clear_records()
Пример #3
0
    def on_complete(self) -> None:
        """Finalize the plugin."""
        if not self.input_anchor.connections:
            self.generate_metadata()

            import pandas as pd

            df = pd.DataFrame(
                {"optional_value": [self.workflow_config["Value"]]})
            self.output_anchor.push_records(
                generate_records_from_df(df, self.output_anchor.record_info))

        self.engine.info(self.engine.xmsg("Completed processing records."))
Пример #4
0
def test_generate_records_from_df():
    df = pd.DataFrame({"a": [1, 2, 3], "b": ["Hello", "from", "blackbird"]})

    record_info = RecordInfo(AlteryxEngine())
    record_info.add_field(field_name="a", field_type=FieldType.byte)
    record_info.add_field(field_name="b", field_type=FieldType.v_string)

    record_generator = generate_records_from_df(df, record_info)

    num_rows, _ = df.shape

    for row, record in enumerate(record_generator):
        for column in list(df):
            assert record.finalize_record().data[column] == df[column][row]
Пример #5
0
    def on_complete(self) -> None:
        """Create all records."""
        import pandas as pd

        workflow_config_value = self.workflow_config["Value"]
        df = pd.DataFrame({
            "x": [1, 2, 3],
            "y": ["hello", "world", "from blackbird"],
            "z": [
                workflow_config_value,
                workflow_config_value,
                workflow_config_value,
            ],
        })
        self.output_anchor.push_records(
            generate_records_from_df(df, self.output_anchor.record_info))
        self.engine.info(self.engine.xmsg("Completed processing records."))
Пример #6
0
def output_records(output_record_info):
    df = pd.DataFrame({"Field1": [1, 2, 3], "Field2": ["Hello", "from", "blackbird"]})
    return generate_records_from_df(df, output_record_info)