0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

2025年9月6日

image.png

この時点でカンマ認識していない問題が発生中

👇

csvロード時を確認しよう。

    // ---- CSVを読み込み、List2Dに格納する(文字列版)----
    // デフォルト引数をやめ、常に明示指定させる
    void LoadFromCsv(string filepath, const ushort delimiter)
    {
        Reset();  
        // 👉 まず内部データをリセット(以前の内容をクリア)

        int handle = FileOpen(filepath, FILE_READ|FILE_TXT|FILE_ANSI);
        // 👉 CSVファイルを「テキスト」「ANSI」で読み取り専用で開く
        //    成功するとファイルハンドルが返る、失敗すると -1

        if(handle < 0) return;
        // 👉 ファイルが開けなかった場合は処理を中断して終了



        string line = "";
        string last_line = "";
        string fields[];
        int cols = 0;



        while(!FileIsEnding(handle))  
        // 👉 ファイルの終端に達するまで繰り返し(1行ずつ処理するループ)
        {
            string line = FileReadString(handle);
            // 👉 1行を文字列として読み込む

            StringTrimLeft(line);
            // 👉 行の先頭の空白を削除

            StringTrimRight(line);
            // 👉 行の末尾の空白や改行を削除

            if(line == "") continue;
            // 👉 空行だった場合はスキップして次の行へ  

            string fields[];
            // 👉 1行を区切った結果を格納する一時配列を宣言

            int cols = StringSplit(line, delimiter, fields);
            // 👉 指定した区切り文字(delimiter)で line を分割し、結果を fields[] に入れる
            //    戻り値 cols は分割された要素数(列数)

            if(cols <= 0) continue;
            // 👉 分割結果が0個(異常行など)ならスキップ

            this.Append(fields);
            // 👉 今のオブジェクト(List2Dクラス?)に分割した1行(fields)を追加する

            // 最後の有効行を保存
            last_line = line;
        }


        // --- whileの外にデバッグを移動 ---
        debug.Print("最後に処理した line", last_line);
        debug.Print("最後に使われた delimiter", IntegerToString(delimiter));
        debug.Print("最後の cols", cols);
        debug.Print("最後の fields[]", fields);


        FileClose(handle);
        // 👉 ファイルを閉じる(忘れるとエラーやロックの原因になる)


        debug.Print("fields♡",fields);
        debug.Print("fields[0]♡",fields[0]);
        debug.Print("fields[0]♡",fields[0]);
        // 👉 ★注意:ここは while の外なので、fields はスコープ外!
        //    → コンパイルエラー 'fields' undeclared identifier
        //    → デバッグを入れたいなら while 内に移動するべき
    }

今こんな感じでデバッグ中。ここのどこかでカンマ的ロードに失敗しているのかもしれない。

デバッグしたところ、

debug.Print("最後に使われた delimiter", IntegerToString(delimiter));

ここでコンマやセミコロンが表示される必要があるのに、
59などと表示されてしまった、
…、と思ったがStringSplit()メソッドは、組み込み関数であり、
引数にはascllの番号を入力するのだそう。

なので、引数をすべて44または56に変更した。

あーだこーだして、

いま、

change_to_N_days()メソッドで

csvのロードに失敗している。
一個前の

NormalizeSigmoid()メソッド

でのcsv出力を確認しよう。

2025年9月18日

NormalizeSigmoidがおかしいのでデバッグ中。
→ なんかヘッダーとか、二次元的スプリット位置がずれている。

2025年9月20日

Sigmoid関数で正規化処理をしている。

NormalizeSigmoid無いで、
SigmoidScaleRowInplaceを実装予定。

現在、SigmoidScaleRowInplaceメソッドを作成中

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?