Skip to main content
Version: Python

DynamicTableWriter

DynamicTableWriter creates a DynamicTableWriter for writing data to a real-time, in-memory table.

Syntax

DynamicTableWriter(col_defs: dict) -> DynamicTableWriter

Parameters

ParameterTypeDescription
col_defsdict

The column definitions. Each column name should have a 1-to-1 correspondence with its data type.

Returns

A DynamicTableWriter.

Methods

DynamicTableWriter supports the following methods:

Properties

Examples

In this example, DynamicTableWriter is used to create a table with two columns:

  • The first contains the row number.
  • The second contains a string.
from deephaven import DynamicTableWriter
import deephaven.dtypes as dht

import time

column_definitions = {"Numbers": dht.int32, "Words": dht.string}

table_writer = DynamicTableWriter(column_definitions)

result = table_writer.table

# The write_row method adds a row to the table
table_writer.write_row(1, "Testing")
time.sleep(3)
table_writer.write_row(2, "Dynamic")
time.sleep(3)
table_writer.write_row(3, "Table")
time.sleep(3)
table_writer.write_row(4, "Writer")

img

The example above writes data to result from the main thread. As a result, the Deephaven web interface will not display the result table until the script finishes execution.

The example below uses a dedicated thread to write data to the table. The Deephaven web interface immediately updates to display all result table changes.

from deephaven import DynamicTableWriter
import deephaven.dtypes as dht

import threading, time

column_definitions = {"Numbers": dht.int32, "Words": dht.string}

table_writer = DynamicTableWriter(column_definitions)

result = table_writer.table


# Define a function to write data to a table
def thread_func():
strings = ["Testing", "Dynamic", "Table", "Writer"]
for i in range(4):
# The write_row method adds a row to the table
table_writer.write_row(i + 1, strings[i])
time.sleep(3)


# Run the thread that writes to the table

thread = threading.Thread(target=thread_func)
thread.start()