データベースへの一括登録方法: Notion 解説(11)

はじめに

Notion を始めたばかりの頃に、テーブルに一括でデータを登録するにはどうしたらよいかがわかりませんでした。当時苦労して見つけた Tips があるので紹介しておきます。

仕組み

Notion がどういうデータ構造をしているのだろうと調べていて、以下のような記事を書きました。

ここにも書いたように、全てがページになることができるオブジェクトになっています。各要素は、その見せ方が違うだけだということに気づきました。テーブルにいきなり登録するのではなく、別の形のオブジェクトとしてページに取り込んだ後で、テーブルに登録すればよいということです。

基本的なやり方

今、サンプルテーブルとしてこんなものを作ってみました。タスク名、担当(Select)、ステータス(Select)、〆切(Date) という単純なものです。

f:id:hkob:20210326220638p:plain
サンプルテーブル

このテーブル(もしくは入力用の Linked Database を用意してもよい)に「一括入力用」の View を用意しておきます。ここには新規データにあらかじめ設定しておきたい属性を設定しておきます。ここでは担当に「hkob」、ステータスに「新規」を設定しておきます。この結果、この View で「+ New」をすると、担当とステータスは自動的に設定されます。

f:id:hkob:20210326220842p:plain
一括入力用のフィルタ設定

今、設定したいタスク名がテキストで用意されていたものとします。

f:id:hkob:20210326221159p:plain
タスク名の一覧

このテキストを編集もしくは置換を行い、以下のように「- 」(マイナス、スペース)を行の先頭に追加します。これは、Markdown における箇条書きの印になります。

f:id:hkob:20210326221329p:plain
「- 」を行頭に追加

このテキストをコピーして、Notion にペーストします。自動的に箇条書きになります。しかも、コピーしたものが選択された状態になっています。

f:id:hkob:20210326221446p:plain
Notion に貼付

選択状態になっている箇条書きをそのまま先程のテーブルにドラッグします。「+ New」の上にドラッグすることでテーブルに追加する形になります。

f:id:hkob:20210326221701p:plain
テーブルにドラッグ

ドラッグに成功するとデータが追加されているのがわかります。このとき、先程 Filter 設定したものが自動的に設定されていることがわかります。異なる属性のものを入れたい時は、Filter に設定した値を変更して、再度ドラッグします。

f:id:hkob:20210326221845p:plain
追加されたテーブルデータ

応用機能

ただ、いちいちエディタなどで先頭に「- 」を付けるのは面倒です。macOS のユーザであれば、ターミナルでちょっとしたコマンドを使えば楽ができますので、紹介しておきます。

今、Excel などで登録したいデータがあるとします。

f:id:hkob:20210326222911p:plain
Excel にあるデータ

登録したいデータをコピーします。

f:id:hkob:20210326222953p:plain
Excel でコピー

ターミナルを開き、以下のコマンドを実行します。pbpaste はペーストボードから文字を取り出すコマンドです。次の sed は文字列の置き換えができるコマンドです。「^」(行の先頭)を「- 」(マイナス+スペース)に置き換えます。文章は pbpaste から「|」(パイプ)を通して受け取り、変換後の結果を pbcopy コマンドに送ります。pbcopy は入力されたものを、macOS のペーストボードに書き込むコマンドです。これによって、クリップボードの文字列の頭に「- 」が付くことになります。

pbpaste | sed 's/^/- /' | pbcopy

この結果、クリップボードには以下のようなテキストが入ります。

- Task 4
- Task 5
- Task 6

Notion に貼ると、以下のように箇条書きになります。

f:id:hkob:20210326223633p:plain
Notion への貼り付け

同じようにドラッグすると、同様にテーブルに追加されました。

f:id:hkob:20210326223734p:plain
テーブルに再度追加

ちょっとしたことですが、知ってると楽ができるので試してみてください。


はてなブログに書いた Notion 記事一覧