tktemplate プログラム仕様
概要: テンプレート処理とExcel連携を提供するモジュール。
詳細説明: このモジュールは、文字列、ファイル、Excelデータに対するテンプレート変数の置換機能や、 Excelファイルへのデータ追加機能を提供します。 `{{ key }}`形式のテンプレートタグを使用して、動的なコンテンツ生成をサポートします。
関連リンク: tktemplate.py 技術ドキュメント
- tklib.tktemplate.add_to_excel(template_path, outfile, data_list, replace_dict, data_only=False, print_level=1)[ソース]
概要: Excelテンプレートから構造を読み込み、新しいデータをExcelファイルに追加します。
詳細説明: `template_path`からExcelテンプレートを読み込み、既存または新規の`outfile`にデータを追加します。 テンプレートの2行目の内容(テンプレート文字列)を`replace_dict`と`data_list`(現在は未使用)を 使用して変換し、`outfile`の最終行に書き込みます。 出力ファイルが存在しない場合は新規に作成し、テンプレートの1行目(ラベル)をヘッダーとして書き込みます。 注意: `convert_by_template`関数は、このモジュール内で定義されていないため、実行時にエラーを発生させる可能性があります。
- パラメータ:
template_path (str) -- 読み込むExcelテンプレートファイルのパス。
outfile (str) -- データを追加するExcelファイルのパス。存在しない場合は新規作成されます。
data_list (list) -- (現在未使用) 追加するデータのリスト。
replace_dict (dict) -- テンプレート置換のためのキーと値のペアを含む辞書。
data_only (bool, optional) -- テンプレート読み込み時に数式ではなくセルの計算結果のみを読み込むかどうか。デフォルトは`False`。
print_level (int, optional) -- デバッグ出力のレベル。1は基本情報、2は詳細情報。デフォルトは`1`。
- 戻り値:
データ追加処理が成功した場合は`True`。
- 戻り値の型:
- tklib.tktemplate.convert_file(template_path, output_path, replace_dict, print_level=0)[ソース]
概要: テンプレートファイルの内容を読み込み、置換を行い、結果を新しいファイルに書き込みます。
詳細説明: `template_path`で指定されたファイルを読み込み、`replace_dict`に基づいて各行の`{{key}}`タグを置換します。 処理された内容は`output_path`で指定されたファイルに書き込まれます。 テンプレートファイルが存在しない場合や出力ファイルに書き込めない場合はエラーを報告します。
- tklib.tktemplate.convert_str(s, replace_dict, blank_nodata=False, print_level=0)[ソース]
概要: 文字列内のテンプレートタグを置換し、オプションで式を評価します。
詳細説明: `replace_dict`に基づいて、入力文字列`s`内の`{{key}}`形式のタグを対応する値で置換します。 `blank_nodata`が`True`の場合、`replace_dict`内の値が`None`であるタグは空文字列に置換されます。 文字列が`@eval:`で始まる場合、その後の文字列はPythonの式として評価され、結果が文字列に変換されます。
- tklib.tktemplate.pfloat(s)[ソース]
概要: 文字列を浮動小数点数に安全に変換します。
詳細説明: 内部の _pfloat 関数を呼び出し、デフォルト値なし、厳格でないモードで変換を試みます。 変換できない場合は None を返します。
- tklib.tktemplate.pint(s)[ソース]
概要: 文字列を整数に安全に変換します。
詳細説明: 内部の _pint 関数を呼び出し、デフォルト値なし、厳格でないモードで変換を試みます。 変換できない場合は None を返します。
- tklib.tktemplate.process_template(template: str, context: dict) str[ソース]
概要: テンプレート文字列内の特殊文字とタグを置換します。
詳細説明: バックスラッシュでエスケープされたタブ (` )、改行 (
)、キャリッジリターン ( `) を
- tklib.tktemplate.read_replacement_db(replacement_db_path, print_level=1)[ソース]
概要: Excelファイルから置換ルール(キーと置換文字列)を読み込み、辞書として返します。
詳細説明: 指定されたExcelファイル(replacement_db_path)の1行目から置換文字列を、2行目からラベル(キー)を 読み込みます。これらの情報から、`{{key}}`タグを置換文字列`value`で置換するための辞書`replace_dict`を 作成します。 ただし、1行目1列目の値が`@@`で終わる場合は、その列はスキップされます。
- tklib.tktemplate.read_template_xlsx(template_path, data_only=False, print_level=0)[ソース]
概要: Excelテンプレートファイルからラベルとテンプレート文字列を読み込みます。
詳細説明: 指定されたExcelファイル(template_path)の1行目からラベルを、2行目から対応する テンプレート文字列を読み込みます。 `data_only`が`True`の場合、セルの表示値(計算結果)を読み込みます。 ファイルが存在しない、または読み込めない場合はエラーを報告します。