#41: 2022-01-07 やったこと
引き続き F# で csv の処理をやっています。
今回は csv のデータを JSON にして HTML から読ませたいので F# では
System.Text.Json
クラスを利用してシリアライズします。- JSON Serialisation in F# | Compositional IT
- HTML から読ませるには
.js
であってほしいので以下のようにしました。
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 やったこと
- Shift JIS の csv ファイルを F# で処理したくて読み込む方法を調べていました。
Encoding
の指定方法がよくわからなかったのですが、下記 callmekohei さんの記事が参考になりました。- F# and CSVHelper でCSVファイルを読み込んでみた! - Qiita
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 やったこと
今日もあまり時間を取れませんでした。
JavaScript でインクリメンタルサーチを実現する方法を調べていました。
- 以下のライブラリを利用させていただくのがよさそうです。
- incsearch.js - インクリメンタルサーチライブラリ
- ちょっとした静的 HTML ページでよいので、Netlify あたりを使うことになりそう。
#38: 2022-01-04 やったこと
今日はあまり時間を取れませんでした。
仕事で使っている PowerShell のスクリプトを少し改良しました。
- PowerShell、もう少し習熟したら業務の自動化に役立てられる範囲が広がりそうな気がするのですが、どうも少し億劫なんですよねぇ。
- 初めて触れたときに比較演算子が不等号
>
,<=
とかではなく-gt
,-le
とかだということを知って、「何それ、変なの」という印象を持ってしまったのが尾を引いているのかもしれません。 - .NET のクラスも利用できるし、使えば便利なのは間違いなさそうです。
- PowerShell 7.0 の新機能 - PowerShell | Microsoft Docs
昨日書いていた bookmarklet を少しだけ手直ししました。