目次
はじめに
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()と条件処理で柔軟に対応可能
実際に動かしてみると、想像よりもシンプルに処理が書けました。
参考になれば幸いです。

 
			 
			 
			 
			 
			 
			 
			