コンテンツにスキップ

読み込みと基本操作

WINファイルの読み込み

概要

wintools.read関数を使う. 引数にはWINファイルのパスを与える. 戻り値はWINクラス, 単数チャネルの場合はWIN1chクラスである.

  • fp引数にファイル名を文字列(複数あればそのリスト)で与える.
  • もしもファイル名に末尾に「.ch」で与えたファイルが存在すれば, 自動的にそのチャネルテーブルも読み込む.
  • chtable引数で明示的にチャンネルテーブルのファイル名を与えると,その情報を読み込んで,WIN.chtableに格納する.
  • sort引数(デフォルトはTrue)によって,出力されるWINクラスをチャンネル番号順に並べ替えるかどうかを切り替えられる.
Example
import wintools
fp = "991109.064607"

dat = wintools.read(
    fp,
)

チャネルテーブル情報の付加

チャネルテーブルがあるなら,引数に与えることを推奨する.

chtableにチャネルテーブルのファイルパスを与えることで, 観測点名,成分名,振幅倍率の情報もデータに保持できる. encodingでチャネルテーブルの文字コードを指定する. apply_chtblTrue(デフォルトはFalse)にすると,チャネルテーブルの値を使って振幅を物理量へ変換したデータを出力する.

Example
import wintools

fp = "991109.064607"
chtbl = "991109.064607.ch

dat = wintools.read(
    fp,
    chtable = chtbl,
    encoding = "utf-8",
    apply_calib=True,
)

複数WINファイルの読み込み

wintools.read関数で,fp引数にリストを与える. このリストは,時間方向に連続したWINファイルのパスである必要がある.

チャネルテーブルやsortの設定は,単体ファイルの時と同様.

さらに,fpに候補のファイルを与えた上で, targettime, beforesec, aftersecを指定すると, 候補ファイルの中から指定した時刻範囲のデータを抽出して読み込むことができる.

Example
import wintools
import glob
import datetime

tar = sorted(glob.glob("./data/win/*.*"))
chtbl = "./data/chtbl.tbl"

dat = wintools.read(
    tar,
    chtbl,
    targettime  = datetime.datetime(2023,10,29,11,25,30),
    beforesec = 5,
    aftersec = 60,
    # filenameformat = "%y%m%d%H.%M",
    )