Muranaga's View

ゴルフ、読書、美術鑑賞、ときにビジネスの日々

「メディアマーカー」が終了するのに伴い、「ブクログ」へ 5,000件ものデータを移行した

2018年10月7日午後、個人的にかなりショッキングなニュースが飛び込んできた。読書録データベースである「メディアマーカー」(MediaMarker)サービスが来年の 1月に終了してしまうというのだ。Amazon からのデータ提供がされなくなり、サービスが続けられなくなったとのこと。

メディアマーカー」については、2009年 2月から、約10年にわたって、自分の読書録・蔵書データベースとして活用し、本・Kindle だけでなく、CD、DVD(Blu-ray)も登録してきた。自分のための読書メモ・備忘録であり、また重複して購入することを防止するためのデータベースでもあった。登録件数は、約5,500件。この自分の10年分の記録を、これからどうすればいいのだろう? さて困った…。

いくつか同様の読書録サービスを探し、「メディアマーカー」ほど多機能ではないが、「読書メーター」「ブクログ」に行き当たった。この二つを比較して、「ブクログ」に移行することにした。なぜならば「読書メーター」で登録できるのは本・洋書・Kindleのみだが、「ブクログ」では、Amazon で購入できるものは何でも、つまり CD も DVD も登録できるからである。またデータのエクスポート機能があるので、将来「ブクログ」が終了するようなことがあっても、データだけは取り出せると考えた。

そして数時間かけて、「メディアマーカー」から「ブクログ」へのデータの移行を行った。基本的には「メディアマーカー」から CSV ファイルをエクスポート(export)して、それを「ブクログ」向けに編集してから、「ブクログ」にインポート(import)する。試しに 1時間ほどかけて1ヶ月分のデータでやってみたら、うまく行っていそうだったので、次に 10年分、5,500件すべてを移行した。Excel で 5,500件のデータを扱うのは重く、編集に時間がかかるので、いくつかに分けてやるのも一法であろう。

CSV ファイルはテキストファイルなので、Ruby などのプログラムで変換するのが最も楽であろう。要するにこういう変換をすればよいのである。

ここでは Excel を使って CSV ファイルを編集して、「ブクログ」へ移行する手順をまとめておく。「ブクログ」の CSV インポートのページでは、「CSVファイルのフォーマットは、各項目をダブルクオーテーション(")で囲み、項目はカンマ(,)で区切ってください。」「エクセルでCSVファイルを編集すると、ダブルクオーテーション(")が削除されてしまうため、テキストエディタをご利用ください。」とあるが、実際に試してみたところ、項目を ” で囲まなくてもうまく行った。

(1) 「メディアマーカー」からデータを CSV 形式でエクスポートする

下図ではエキスポートする際の「並び順」は「降順(2018→2017)」となっているが、実際には「昇順(2017→2018)」の方がよい。「昇順」にすると、「ブクログ」に登録する際に、古いものから順に登録されるからだ。「降順」にしておくと、新しいものほど CSV ファイルの上位の行に来るため、「ブクログ」へ読み込んだ際の登録順が先になり、「メディアマーカー」に登録した時の順番が逆転してしまうことになる。

f:id:muranaga:20181007231029p:plain

(2) できあがった CSV ファイル "MediaMarker.csv"(ファイル名は例)を Excel で編集する

f:id:muranaga:20181007231109p:plain

メディアマーカー」と「ブクログ」のデータ項目の対応関係は、概ね以下の通りとなる:

ブクログメディアマーカー補足
サービスID Amazon.co.jp = 1 / Amazon.com = 2
アイテムID(ASIN) ASIN
13桁ISBN ISBN/JAN
カテゴリ カテゴリ
評価 評価
読書状況 状態 値が違う:「読みたい」←「未読」など
レビュー 公開されるレビュー。コメントと対応させてもよい
タグ タグ 書式違い:,で区切るか、改行で区切るか
読書メモ(非公開) コメント 非公開の読書メモ
登録日時 購入日 登録日はインポート時に上書きされてしまう
読了日 読了日

  1. 上記の対応関係に合わせて、CSV ファイルの項目に相当する列を追加したり、列の順番を入れ替えたりする。
    • 「サービスID」と「レビュー」列を追加。「サービスID」のすべての値に 1 を設定(Amazon.co.jp に相当)。
    • 「サービスID」 は Amazon.com = 2、iTunes = 4。本来はこれらをチェックして適切な値を入れるのがよい。
    • 「レビュー」は空欄にしておく。
    • 「レビュー」には「コメント」をすべてコピーしてもよい。ただし「ブクログ」では「レビュー」は公開されるので要注意。非公開の「読書メモ」が別途用意されている。
    • 列の順番を入れ替える:(左から)サービスID, ASIN, ISBN/JAN, カテゴリ, 評価, 状態, レビュー, タグ,コメント, 購入日, 読了日
  2. セルの書式設定を行う:
    • 購入日、読了日:「ユーザ定義」で yyyy-m-d h:mm とする。
    • ASIN:文字列
    • ISBN/JAN:数値
  3. 「状態」列:値を下記のように置換する。
    • 「未読」 → 「読みたい」
    • 「読中」 → 「いま読んでる」
    • 「読了」 → 「読み終わった」
    • 「未読」 → 「積読」に置換することも考えられるが、僕の場合、未購入のものも登録するので「読みたい」に置き換えることとした。
  4. 第一行(項目名)を削除、データだけのファイルにする。
  5. 編集した Excel ファイルを CSV 形式で保存する(例:"All_MedifaMarker.csv")。
  6. このファイルの拡張子を txt を変更、テキストファイルとする(例:”All_MediaMarker.txt”)。

(3) CSV 形式のテキストファイルを「ブクログ」でインポートする。

f:id:muranaga:20181007231129p:plain

Amazon.co.jp にないデータは移行できなかったり(Amazon.comiTunes Store のデータ移行は、今回あきらめた)、複数タグの処理をサボったりしたので、いくつか小さな課題はあるものの、「メディアマーカー」終了のニュースを聞いてから、取り急ぎ 2-3 時間程度の作業で、「ブクログ」への移行ができたので、ホッとしている。「メディアマーカー」は自分用のメモを残すコンセプトだったが、「ブクログ」はレビューを投稿し合う SNS のようなコンセプトと感じる。今のところメモは、非公開の自分用として残し、レビューとして公開することは、様子を見ながらおいおい始めていくつもりである。

そんなわけで、「ブクログ」の「muranaga の本棚」もよろしくお願いします。
booklog.jp