【C#】.thdファイルのデータを取得する方法|StreamReaderで2次元配列に取り込む実装例

目次

はじめに

C#を使って開発を進めている中で、.thdファイルのデータを取り込みたいという場面がありました。
今回は、.thdファイルを開いてデータを2次元配列に格納する方法を勉強したので、
実装例とともにまとめておきます。


使用するクラス:StreamReader

.thdファイルの中身はテキスト形式(タブ区切り)だったため、
StreamReaderで読み込んで、Splitで分解する方法が使えます。


実装コード例

以下が、.thdファイルを開いて72行×4列の2次元配列に格納するコードです。

// .thdファイルを開く
StreamReader reader = new StreamReader("HM1709F11L_Aged_001.thd");

string line;

// 2次元配列の定義(72行×4列)
string[,] data = new string[72, 4];

int row = 0;

while ((line = reader.ReadLine()) != null)
{
    // タブで区切って配列に変換
    string[] items = line.Split('\t');

    // ヘッダー行("TRN"で始まる行)はスキップ
    if (items[0].StartsWith("TRN")) continue;

    // 各列データを格納(不足している列は空文字に)
    for (int col = 0; col < 4; col++)
    {
        if (col < items.Length)
        {
            data[row, col] = items[col];
        }
        else
        {
            data[row, col] = "";
        }
    }

    row++;
}

// ファイルを閉じる
reader.Close();

コードの補足説明

  • .thdファイルはタブ区切り\t)で構成されている前提です。
  • StartsWith("TRN") によって、ヘッダ行をスキップしています。
  • データが足りない列に対しては空文字を代入することでエラーを回避しています。
  • string[,] data = new string[72, 4];72行・4列は、ファイルの内容に合わせて決めています。

読み込んだデータの活用例

私の場合、取得したデータをさらに以下のように活用しています:

  • CSVファイルに変換して保存
  • グラフ描画ソフトに読み込ませて波形やトレンドを確認
  • C#内で条件分岐処理や演算処理に使用

.thdファイルは機器のログや測定データなどに使われることも多いため、
このようにテキスト読み込み+2次元配列への格納処理を覚えておくと汎用的に使えます。


まとめ

.thdファイルのようなタブ区切りのテキストデータを読み取るには、
StreamReader + Split('\t') + 2次元配列の組み合わせが有効です。

要点まとめ:

  • .thdファイルはテキスト形式であればStreamReaderで処理可能
  • 行・列の構造を確認して配列のサイズを事前に決定する
  • Split()と条件処理で柔軟に対応可能

実際に動かしてみると、想像よりもシンプルに処理が書けました。
参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次