Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidianをcsvファイルのデータベースにする

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.onclick = () =>{
  t = dv.markdownTable(s, d)
  navigator.clipboard.writeText(t)
  new Notice("copied!")
}
```

対象ファイルをプロパティで指定します。

拡張子はmdですが、中身はcsv形式。 なぜ拡張子をcsvにしないかというと、Obsidianで書き換えることができなくなるからです。 訂正しながら練り上げていく。

使い方

プレビューすると表形式で表示します。 項目名をタップすると並べ替え。

プロパティの search にキーワードを書き込むと、データの絞り込みができます。 該当する行だけ表示。 これができるとデータベースっぽい。

データ修正用にリンクもつけました。 タップすると元ファイルを開きます。

リンクの右横に赤ピンの絵文字がありますが、これをタップするとMarkdown形式のテーブルがクリップボードに保存されます。 ペーストすれば表になるわけです。

csv

csvの利点はファイルの書きやすさですね。 テキストエディタで書ける。

入力中は区切り記号をスペースにしておいて、仕上げでスペースをカンマに置換するのがお手軽です。 日本語モードのままでどんどん書いていける。

Obsidianの一括置換は、モバイルツールバーにある「現在のファイルを検索し置換」を使えば簡単。 プラグインRegex Find でもいいけど。

まとめ

これとChartsを統合したら面白いかな。