csvを絞り込んでテーブルに変換。
csvを読み込む
dataviewでcsvを扱う方法は上記記事を参照。 今回は「検索」をつけます。
--- csv: covid.md search: --- ```dataviewjs const csv = await dv.io.csv(dv.current().csv) const s = Object.keys(csv.values[0]) const q = dv.current().search || "" const d = csv.values .map(x => Object.values(x)) .filter(x => x.toString().includes(q)) dv.span("[[" + dv.current().csv + "]]") const btn = dv.el("button", "📌") btn.style = "width:20px;" dv.table(s, d) btn. =>{ t = dv.markdownTable(s, d) navigator.clipboard.writeText(t) new Notice("copied!") } ```
対象ファイルをプロパティで指定します。
拡張子はmdですが、中身はcsv形式。 なぜ拡張子をcsvにしないかというと、Obsidianで書き換えることができなくなるからです。 訂正しながら練り上げていく。
使い方
プレビューすると表形式で表示します。 項目名をタップすると並べ替え。
プロパティの search
にキーワードを書き込むと、データの絞り込みができます。
該当する行だけ表示。
これができるとデータベースっぽい。
データ修正用にリンクもつけました。 タップすると元ファイルを開きます。
リンクの右横に赤ピンの絵文字がありますが、これをタップするとMarkdown形式のテーブルがクリップボードに保存されます。 ペーストすれば表になるわけです。
csv
csvの利点はファイルの書きやすさですね。 テキストエディタで書ける。
入力中は区切り記号をスペースにしておいて、仕上げでスペースをカンマに置換するのがお手軽です。 日本語モードのままでどんどん書いていける。
Obsidianの一括置換は、モバイルツールバーにある「現在のファイルを検索し置換」を使えば簡単。 プラグインの Regex Find でもいいけど。
まとめ
これとChartsを統合したら面白いかな。