名刺管理をCardMinderからEvernoteに移行してみる(まずは第一段階)

投稿日: カテゴリー

@hitoshiさんの記事「名刺10,000枚をEvernoteで管理する方法」を読んでいたら、たしかに、名刺はEvernoteで管理したほうが良いだろうと考えるに至った。
これまで、名刺はScanSnapでスキャンして付属のCardMinderで管理していた。なので、データは自宅のMacBook Pro(とMacBook Air)に保管してある。しかもスキャン後の名刺は、少なくとも1年後には処分することに決めている。
そうなると、会社でごくたまに「○○社の××さんの連絡先わかる?」とか「○○社から□□社に移った△△さんの新しい部署ってわかるかな?」なんて問い合わせを受けることもあるが、「ごめん、家に帰らないとわからんわ」と回答せざるを得ない。iPhoneで管理できれば即座に回答できるのにとは思いつつ、これまで対応せずにいた。
上記記事でがぜん、「おお、Evernoteで名刺管理するのだ」と思ったのだが、自分はこれまで名刺はScansnapとCardMinderで管理していた。この移行をどうするか?が気になって実行出来ずに数日。一応、ToDoリストの「いつか」に入れてはいたが、今週末いよいよ週次レビューで「やらねば」と思い直して、色々ググってみた。
CardMinderはPDFで名刺画像データを保管している事がわかる。これなら、EverNoteに移行は出来そう。しかし、自分が保管している名刺の枚数は数百枚。流石に10,000枚も無いけれども、これらを一枚一枚手作業でEvernote移行するのはあまりに非効率。さらに、CardMinderで保存されているPDFファイルのファイル名は名刺のデータとは全く無関係の英数字の羅列。で、もうすこしググってみたらいくつか参考になる記事があったので、変更を加えて実行してみた。

今後は「名刺をevernoteで管理する方法をまとめてみたよ」も参考にしながら、効率的な名刺管理の方法も探るようにしよう。

以下実際にやったこと。

参考にした記事

  1. ScanSnap付属のCardMinderに読み込んだ名刺をEvernoteに流し込む
  2. SCANSNAPで名刺をCARDMINDERに取り込んだ後にEVERNOTEにもデータを送る

コードの変更点

  1. CardMinder DB.cmdb保存先の変更
  2. CardMinderのデータファイルを別の場所に保存している場合(自分はMBAとの連携のためにDropboxフォルダにファイルを移動済みだった)はsource_directoryとconnectionコマンドの接続先ファイルのディレクトリの変更が必要。

    source_directory = os.environ["HOME"] + "/Dropbox/CardMinder DB.cmdb/Images/"
    
    connection = sqlite3.connect(os.environ["HOME"] + "/Dropbox/CardMinder DB.cmdb/CardMinder.sqldb")
    
  3. ファイル名を「会社名」_「人名」.pdfから「人名」_「会社名」.pdfに。
  4. EvernoteにPDFファイル取り込んだときのノートタイトルが「人名」_「会社名のほうが見やすいだろうとおもい、変更することに。

    このため、

    cursor = connection.execute("select ZCOMPANY, ZFULL_NAME,ZFACE_IMAGE_FILE, ZREGISTER_DATE from ZCARD")
    

    cursor = connection.execute("select ZFULL_NAME,ZCOMPANY, ZFACE_IMAGE_FILE, ZREGISTER_DATE from ZCARD")
    

    に。

    ということで最終的には、コードは下記のとおり。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import os
    import datetime
    import shutil
    import sqlite3
    
    source_directory = os.environ["HOME"] + "/Dropbox/CardMinder DB.cmdb/Images/"
    destination_directory = os.environ["HOME"] + "/Documents/CardMinderToEvernote/"
    connection = sqlite3.connect(os.environ["HOME"] + "/Dropbox/CardMinder DB.cmdb/CardMinder.sqldb")
    
    cursor = connection.execute("select ZFULL_NAME,ZCOMPANY, ZFACE_IMAGE_FILE, ZREGISTER_DATE from ZCARD")
    	for row in cursor:
    	if row[0]:
    		filename = '%s_%s' % (row[0],row[1])
    			# print filename.replace(" ",""),row[2],row[3]
    	else:
    		filename = '%s' % (row[1])
    		# print filename.replace(" ",""),row[2], row[3]
    	shutil.copyfile(source_directory + row[2], destination_directory + filename.replace(" ","") + ".pdf")
    
    connection.close
    

    となりました。

pythonでコード実行

さて。これをpythonで動かすには。

  1. Terminalを起動する
  2. Terminalで pythonのインタプリタを起動
  3. 上記コードをコピペ。

注:このとき、pythonでは「インデント」が文法の一部であるため、ブラウザからのコピペでタブコードがスペースに変更されていた場合エラーが生ずる可能性あり。テキストエディタ等にコードをコピペしてインデントがタブで記述されている事を確認してからターミナルにペーストするのが吉。当初これでかなりはまりました。

Evernoteに取り込み

ここは簡単。

  1. Evernoteに名刺用ノートブックを作成。
  2. 上記で作成されたpdfファイルをcommand+Aで全部選択してからドラッグアンドドロップ。
  3. pdfファイル毎にファイル名がノート名となったノートが作成される(ちょっと時間かかります)。

コメントを残す

メールアドレスが公開されることはありません。