tkfilter プログラム仕様

tkfilterモジュール

データフィルタリング機能を提供するクラスを定義します。 プラグインとしてロードされたモジュールを通じて、データの読み込み、検索、操作を行います。

tkfilter.py ライブラリ ドキュメント

class tklib.tkfilter.tkFilter(app, cparams, plugin_dir, module_file, target='read_data', is_print=False, **args)[ソース]

ベースクラス: tkObject

データフィルタリングとデータ操作のための基底クラスです。

プラグインとしてロードされたモジュールを用いて、ファイルの読み込み、 データ配列の検索、ハッシュ変換、出力などの機能を提供します。

find_data_array(regexp, flag='', inf=None)[ソース]

指定された正規表現またはインデックスに一致するラベルとデータ配列を検索します。

まず regexpflag が両方とも整数の場合、それらを直接領域インデックスとスペクトルインデックスとして使用します。 それ以外の場合は find_label_index を呼び出してインデックスを取得します。 取得したインデックスに基づいて、対応するラベルとデータ配列を inf から取得し、インスタンス変数に設定します。

パラメータ:
  • regexp -- str | int: 検索対象の正規表現文字列または領域インデックス。

  • flag -- str | int: (オプション) 正規表現検索フラグ (例: re.IGNORECASE)、またはスペクトルインデックス。デフォルトは空文字列。

  • inf -- dict: (オプション) データの詳細情報を含む辞書。指定されない場合は、インスタンスの self.inf を使用します。

戻り値:

tuple[str | None, Any | None]: 見つかったラベルとデータ配列のタプル。見つからない場合は (None, None)。

find_label_index(regexp, flag='', inf=None)[ソース]

指定された正規表現またはインデックスに一致するラベルのインデックスを検索します。

まず regexp が整数であれば、直接領域インデックス0と regexp をスペクトルインデックスとして返します。 次に regexp を整数に変換可能であれば、同様に返します。 それ以外の場合は、inf に含まれるラベルのリストを走査し、正規表現 regexp に一致するラベルの 領域インデックスとスペクトルインデックスを返します。

パラメータ:
  • regexp -- str | int: 検索対象の正規表現文字列またはインデックス値。

  • flag -- str | int: (オプション) 正規表現検索フラグ (例: re.IGNORECASE)。またはスペクトルインデックスとしての整数値。

  • inf -- dict: (オプション) データの詳細情報を含む辞書。指定されない場合は、インスタンスの self.inf を使用します。

戻り値:

tuple[int | None, int | None]: 見つかった領域インデックスとスペクトルインデックスのタプル。見つからない場合は (None, None)。

get_hash_data(idx, inf=None)[ソース]

ロードされたデータから、ラベルとデータ配列のマッピングをハッシュ(辞書)形式で取得します。

inf に含まれるラベルと data_list を使用して、ラベルをキー、対応するデータ配列を値とする辞書を作成します。

パラメータ:
  • idx -- Any: (このメソッドでは使用されませんが、シグネチャに含まれています)

  • inf -- dict: (オプション) データの詳細情報を含む辞書。指定されない場合は、インスタンスの self.inf を使用します。

戻り値:

dict[str, Any]: ラベルをキー、データ配列を値とする辞書。

load(target=None, is_print=None)[ソース]

フィルタリングモジュールをロードします。

指定されたプラグインディレクトリから、_module_file にマッチするモジュールをロードします。 各モジュールの入出力タイプを表示することもできます。

パラメータ:
  • target -- str: (オプション) ロードするモジュールのターゲット関数名。指定されない場合は初期設定を使用します。

  • is_print -- bool: (オプション) ロード処理の詳細をコンソールに出力するかどうか。指定されない場合は初期設定を使用します。

戻り値:

tuple[list[str], list[object]]: ロードされたモジュール名 (module_names) のリストと、モジュールオブジェクト (modules) のリストのタプル。

print_data(labels=None, data_list=None, label_format='{:^10}', data_format='{:>10}', header=None, print_level=0)[ソース]

ラベルとデータリストを整形して出力します。

tklib.tkutils.print_data 関数を呼び出します。

パラメータ:
  • labels -- list[str]: (オプション) 各データ行に対応するラベルのリスト。

  • data_list -- list[list[Any]]: (オプション) 出力するデータのリストのリスト。

  • label_format -- str: (オプション) ラベルを整形するためのフォーマット文字列。デフォルトは '{:^10}'。

  • data_format -- str: (オプション) データ要素を整形するためのフォーマット文字列。デフォルトは '{:>10}'。

  • header -- str: (オプション) 出力するデータのヘッダー文字列。

  • print_level -- int: (オプション) 出力の詳細レベル。

戻り値:

None

print_line(data_list, format='{:^10}')[ソース]

データリストの行を整形して出力します。

tklib.tkutils.print_line 関数を呼び出します。

パラメータ:
  • data_list -- list: 出力するデータ要素のリスト。

  • format -- str: (オプション) 各データ要素を整形するためのフォーマット文字列。デフォルトは '{:^10}'。

戻り値:

None

read_data(imodule=0, infile=None, idata=None, target='', app=None, cparams=None, is_print=False)[ソース]

データを読み込みます。

idata がリストまたはタプルの場合は read_datalist を呼び出して複数のデータを読み込みます。 それ以外の場合は、指定されたモジュールから単一のデータセットを読み込みます。

パラメータ:
  • imodule -- int: (オプション) データを読み込むモジュールのインデックス。デフォルトは 0。

  • infile -- str: (オプション) 読み込む入力ファイルのパス。

  • idata -- int | str | list | tuple: (オプション) 読み込むデータのインデックス。整数、文字列(正規表現)、またはそれらのリスト/タプル。 リストまたはタプルの場合、read_datalist が呼び出されます。

  • target -- str: (オプション) ロードするモジュールのターゲット関数名。

  • app -- object: (オプション) アプリケーションオブジェクト。指定されない場合は、インスタンスの app を使用します。

  • cparams -- dict: (オプション) 設定パラメータの辞書。指定されない場合は、インスタンスの cparams を使用します。

  • is_print -- bool: (オプション) 処理の詳細をコンソールに出力するかどうか。デフォルトは False。

戻り値:

Any: 読み込んだデータまたは情報の辞書。idata がリストまたはタプルの場合は read_datalist の戻り値、 それ以外の場合はモジュールの read_data メソッドの戻り値。

read_datalist(idata=None, imodule=0, infile=None, target='', app=None, cparams=None, is_print=False)[ソース]

指定された複数のデータインデックスに基づいて、データリストを読み込みます。

まずモジュールをロードし、指定されたインデックス (idata) に基づいて、 各データポイントのラベルとデータ配列を検索してリストとして返します。

パラメータ:
  • idata -- list | tuple: 読み込むデータのインデックスのリストまたはタプル。整数、文字列(正規表現)、または (int, int) / (str, int) のタプルが可能です。

  • imodule -- int: (オプション) データを読み込むモジュールのインデックス。デフォルトは 0。

  • infile -- str: (オプション) 読み込む入力ファイルのパス。

  • target -- str: (オプション) ロードするモジュールのターゲット関数名。

  • app -- object: (オプション) アプリケーションオブジェクト。指定されない場合は、インスタンスの app を使用します。

  • cparams -- dict: (オプション) 設定パラメータの辞書。指定されない場合は、インスタンスの cparams を使用します。

  • is_print -- bool: (オプション) 処理の詳細をコンソールに出力するかどうか。デフォルトは False。

戻り値:

tuple[list[str], list[Any], dict]: 読み込んだラベルのリスト、データ配列のリスト、および読み込んだデータの詳細情報 (self.inf) のタプル。