#41: 2022-01-07 やったこと

  • 引き続き F# で csv の処理をやっています。

    • VSCodefsx スクリプトファイルを開いて Alt + Enter で実行しながら書き進めていくのは、なかなか快適です。
  • 今回は csv のデータを JSON にして HTML から読ませたいので F# では System.Text.Json クラスを利用してシリアライズします。

open System.IO
open System.Text.Json

// 中略

let entries = rows |> Array.map rowToEntry

let entriesJson = "let entries = " + JsonSerializer.Serialize entries

let saveJsonPath = "entries.js"
File.WriteAllText(saveJsonPath, entriesJson, Encoding.Default)

あとは index.html と同じディレクトリにおいて、

<script src="./entries.js"></script>

という感じで読み込めば OK ですね。

#40: 2022-01-06 やったこと

open System.IO
open System.Text

let filename = "sample.csv"
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)
let lines = File.ReadAllLines(filename, Encoding.GetEncoding("Shift_JIS"))

こういう感じで書けばよいようです。

  • csv の中でデリミタとしてのコンマ , と金額の桁区切りとしてのコンマ , の両方があったので桁区切りの方はいったん取り除くことにしました。
let removeComma str =

 Regex.Replace(str, @"((\d{1,3}),)?(\d{1,3}),(\d{3})", "$3$4")

#39: 2022-01-05 やったこと

#38: 2022-01-04 やったこと

  • 今日はあまり時間を取れませんでした。

  • 仕事で使っている PowerShellスクリプトを少し改良しました。

    • PowerShell、もう少し習熟したら業務の自動化に役立てられる範囲が広がりそうな気がするのですが、どうも少し億劫なんですよねぇ。
    • 初めて触れたときに比較演算子が不等号 >, <= とかではなく -gt, -le とかだということを知って、「何それ、変なの」という印象を持ってしまったのが尾を引いているのかもしれません。
    • .NET のクラスも利用できるし、使えば便利なのは間違いなさそうです。
    • PowerShell 7.0 の新機能 - PowerShell | Microsoft Docs
  • 昨日書いていた bookmarklet を少しだけ手直ししました。