tkvariousdata プログラム仕様

tkvariousdata.py: さまざまなデータファイル(CSV、Excel)を扱うためのクラスを提供します。

このモジュールは、CSVファイルやExcelファイルからデータを読み込み、 またそれらの形式でデータを書き出すための汎用的なデータハンドリングクラス tkVariousData を含んでいます。 データの前処理、フィルタリング、フォーマット変換などの機能を提供します。

関連リンク: tkvariousdata.py ライブラリ ドキュメント

tklib.tkvariousdata.find_template(template)[ソース]

指定されたExcelテンプレートファイルのパスを検索します。

カレントディレクトリ、スクリプト実行ディレクトリ、および特定のシステムパス配下を順に探索し、 最初に見つかったテンプレートファイルの絶対パスを返します。

パラメータ:

template (str) -- 検索するテンプレートファイル名または相対パス。

戻り値:

見つかったテンプレートファイルの絶対パス。見つからない場合は None。

戻り値の型:

str or None

class tklib.tkvariousdata.tkVariousData(path=None, mode='r', OpenFile=1, data_only=True, **args)[ソース]

ベースクラス: tkDataFile

さまざまなデータファイル形式(CSV、Excel)を扱うためのクラスです。

このクラスは、CSVファイルやExcelファイルからのデータの読み込み、 特定のデータ抽出、そしてCSVやExcelファイルへの書き出し機能を提供します。 tkDataFile を継承しており、ファイル操作の基本機能を利用できます。

Read_minimum_matrix(close_fp=False, force_numeric=True, usage=None)[ソース]

指定されたファイルから最小限の行列形式でデータを読み込みます。

ファイルの拡張子(.xlsxまたは.csv)に基づいて適切なハンドラ(tkExcelまたはtkCSV)を使用し、 ヘッダー(labelarray)とデータリスト(datalistarray)を取得します。

パラメータ:
  • close_fp (bool) -- データを読み込んだ後にファイルポインタを閉じるかどうか。

  • force_numeric (bool) -- 可能な限りデータを数値型に強制変換するかどうか。

  • usage (str, optional) -- エラーメッセージに追加する使用法に関する情報。

戻り値:

(labelarray, datalistarray) のタプル。 labelarrayはヘッダーのリスト、datalistarrayは列ごとのデータのリスト。

戻り値の型:

tuple of (list, list)

read_data(infile, xlabel=0, ylabel=1, xmin=None, xmax=None, usage=None)[ソース]

指定された入力ファイルからデータを読み込み、特定の範囲でフィルタリングします。

Read_minimum_matrix を使用してデータを読み込み、xlabelylabel で指定された列を抽出し、 xminxmax の範囲でXデータをフィルタリングして、対応するXとYのデータセットを準備します。

パラメータ:
  • infile (str) -- 読み込む入力ファイルのパス。

  • xlabel (str or int) -- X軸データとして使用する列のラベルまたはインデックス。

  • ylabel (str or int) -- Y軸データとして使用する列のラベルまたはインデックス。

  • xmin (float or int, optional) -- Xデータの最小値。この値より小さいXデータは除外されます。

  • xmax (float or int, optional) -- Xデータの最大値。この値より大きいXデータは除外されます。

  • usage (str, optional) -- エラーメッセージに追加する使用法に関する情報。

戻り値:

(labels, datalist) のタプル。 labelsはヘッダーのリスト、datalistは列ごとのデータのリスト。

戻り値の型:

tuple of (list, list)

reformat_workbook(wb)[ソース]

Excelワークブックの特定のシートを再フォーマットします。

メインシート(最初のシート)の最初の5列1行目から最大行目までのセルの値をクリアし、 ワークブック内のすべてのシートからグラフを削除します。

パラメータ:

wb (openpyxl.Workbook) -- 再フォーマットする openpyxl.Workbook オブジェクト。

戻り値:

再フォーマットされたメインワークシートオブジェクト。

戻り値の型:

openpyxl.worksheet.worksheet.Worksheet

save(outfile, labels, data_list, print_level=1)[ソース]

ファイルの拡張子に基づいて、データを適切な形式(CSVまたはExcel)で保存します。

outfile の拡張子を判別し、.xlsx であれば to_excel を、 .csv であれば to_csv を呼び出してデータを保存します。 サポートされていない拡張子の場合はエラーメッセージを出力します。

パラメータ:
  • outfile (str) -- 出力するファイルのパス。

  • labels (list of str) -- ヘッダーとして使用するラベルのリスト。

  • data_list (list of list) -- 列ごとのデータを含むリストのリスト。

  • print_level (int, optional) -- ログ出力のレベル。0の場合、メッセージは出力されません。

戻り値:

保存が成功した場合は True、失敗した場合は False。

戻り値の型:

bool

to_csv(outfile, labels, data_list, print_level=1)[ソース]

データとラベルをCSVファイルに書き込みます。

データリストを行ごとに整形し、CSV形式で指定されたファイルに保存します。 浮動小数点数は、その値に応じて適切な書式(指数表記または一般表記)で出力されます。

パラメータ:
  • outfile (str) -- 出力するCSVファイルのパス。

  • labels (list of str) -- ヘッダーとして使用するラベルのリスト。

  • data_list (list of list) -- 列ごとのデータを含むリストのリスト。

  • print_level (int) -- ログ出力のレベル。0の場合、メッセージは出力されません。

戻り値:

書き込みが成功した場合は True、失敗した場合は False。

戻り値の型:

bool

to_excel(outfile, labels, data_list, template=None, isheet_create=0, print_level=1)[ソース]

データとラベルをExcelファイルに書き込みます。

複数行/列のラベルとデータリストを処理し、テンプレートファイルを使用するかどうかで挙動が変わります。 数値に変換可能な文字列は自動的に変換されます。 テンプレートを使用する場合は、VBA対応の`.xlsm`として保存され、既存のシートを整形・グラフ削除後、 指定位置に新しいシートを作成してデータを書き込みます。

パラメータ:
  • outfile (str) -- 出力するExcelファイルのパス。

  • labels (list of str or list of list of str) -- ヘッダーとして使用するラベルのリスト。複数のリストのリストの場合、連結されます。

  • data_list (list of list or list of list of list) -- 列ごとのデータを含むリストのリスト。複数のリストのリストの場合、連結されます。

  • template (str, optional) -- 使用するExcelテンプレートファイルのパス。テンプレートがない場合は新規作成されます。

  • isheet_create (int, optional) -- データシートを作成する位置のインデックス。0は先頭。

  • print_level (int, optional) -- ログ出力のレベル。0の場合、メッセージは出力されません。

戻り値:

書き込みが成功した場合は True、失敗した場合は False。

戻り値の型:

bool

to_excel_from_dataframe(outfile, df, template=None, isheet_create=0, print_level=1)[ソース]

Pandas DataFrameからExcelファイルにデータを書き込みます。

DataFrameの列をラベルとして、値をデータリストとして抽出し、 to_excel メソッドを呼び出してExcelファイルに保存します。

パラメータ:
  • outfile (str) -- 出力するExcelファイルのパス。

  • df (pandas.DataFrame) -- 書き込むデータを含むPandas DataFrame。

  • template (str, optional) -- 使用するExcelテンプレートファイルのパス。テンプレートがない場合は新規作成されます。

  • isheet_create (int, optional) -- データシートを作成する位置のインデックス。0は先頭。

  • print_level (int, optional) -- ログ出力のレベル。0の場合、メッセージは出力されません。

戻り値:

書き込みが成功した場合は True、失敗した場合は False。

戻り値の型:

bool