Dr.WalletのデータからCSVを作る(実践編)

2016/11/03:Chrome拡張機能ができました。期間を指定して一括取得できます。

Chrome拡張機能でDr.WalletのデータからCSVを作る

「分析編」からの続き。
Dr.WalletにはCSV出力(エクスポート)機能がないので、自分でやってしまおうというわけです。
そしてその実践編。
まず、次のことをご理解ください。

あくまで「俺用」です。テキトーに作成したものですので、何が起こるかわかりません。テストもろくにしていません。
ご利用の際にあたっては自己責任でお願いします。

  • 念のため、元のデータは保管して下さい。
  • データの仕様を「推測」してこのプログラムが作られています。正しいか不明です。
  • エラーが起きてもしれっと終わりますので、データの整合性は確認して下さい。
  • このプログラムを使用して不利益を被っても、一切の責任は負いかねます。
  • このプログラムについて、Dr.Wallet側に問い合わせとかしないで下さい。(公式でエクスポート機能つけてくれという要望はどんどんして下さい。)

OK?よくある「自己責任でやってね」ってわけです。
個々の環境で動作しなくても修正できるかわかりません。また、「○○○の形式に変換してほしい!」というような要望にもこたえることができません。

なお、すべての処理はブラウザ上でjavascriptを使って処理しますので、外部に送信されることはありません。
怖い人は「解説編」のJavascriptソースを読んでね。

Sponsored Link

では手順です。

前回の通り、まずはDr.Walletからデータを落としておきます。
次のようなアドレスにアクセスします。
https://www.drwallet.jp/receipts/after_input_data?year=2016&month=7
(これは2016年07月用です。別の月のデータを得るには、アドレスのyearとmonthを書き換えて下さい。2016年全部とか、これまでの全部とかはたぶん無理です。ほしい。)

さてさてこんなデータでしたね。

{"aaData":[["2016/07/01","\u3046\u3069\u3093\u5c4b",550,"\u5916\u98df\u8cbb","\u73fe\u91d1",142611341,true,"pending","receipt",false,true,"2016-07-03T00:00:00+09:00"],["2016/07/02","\u30b3\u30f3\u30d3\u30cb",110,"\u98df\u8cbb","\u73fe\u91d1",142726649,true,"pending","receipt",false,true,"2016-07-03T00:00:00+09:00"],["2015/09/01","",30000,"\u53e3\u5ea7\u632f\u66ff","\u3086\u3046\u3061\u3087\u9280\u884c\u2192\u73fe\u91d1",37293,null,"","transfer",false,false,"2015-09-01T09:00:00+09:00"],["2016/07/03","",10000,"\u53e3\u5ea7\u632f\u66ff","\u3086\u3046\u3061\u3087\u9280\u884c\u2192\u73fe\u91d1",37294,null,"","transfer",false,false,"2016-07-03T09:00:00+09:00"]],"transactions":{"142611341":{"590012412":{"name":"\u304b\u3051(\u4e26)","amount":300,"category_name":"\u5916\u98df\u8cbb","is_expense":true},"590012413":{"name":"\u5929\u3077\u3089","amount":250,"category_name":"\u5916\u98df\u8cbb","is_expense":true}},"142726649":{"590014530":{"name":"\u30c4\u30ca\u304a\u306b\u304e\u308a","amount":110,"category_name":"\u98df\u8cbb","is_expense":true}}}}

このデータを直下のテキストボックスにコピペして、「CSVにしてみる」ボタンを押下します。


列名を出力する
収支は別の列に出力する(割引(マイナスの支出)とかのデータも、よくわからないのでそのまま出力します。)
明細を出力する(明細を出力しないの場合、複数カテゴリーがあるときは「食費/日用雑貨」という形になります。)
振替を出力する

Sponsored Link

どうでしょう?
先のうどんデータは、こんな感じになりました。
※あろうことか、支出と収入のラベルがあべこべでしたので修正しました。

日付,口座,店名,品名,カテゴリー,支出金額,収入金額
2016/07/01,現金,うどん屋,かけ(並),外食費,300,
2016/07/01,現金,うどん屋,天ぷら,外食費,250,
2016/07/02,現金,コンビニ,ツナおにぎり,食費,110,
2016/07/03,ゆうちょ銀行→現金,,,口座振替,10000,10000

良さそうですね。
チェックボックスをいろいろ用意しましたので、ポチポチしてみてお好きな形にして下さい。

ちなみに振替の扱いはご覧の通りです。しょうがないね。
あと、ダウンロードしたデータに収支のデータがなく振替データのみの場合は、うまく動きません。許してね。

Dr.Walletを1年間使っていた場合、12回これをやらないといけませんが、それはせっせと頑張りましょう。
昔のレシートを登録していた場合などは無尽蔵に増えます。私は45回やる羽目になりそうです。
元データのエクセルとかダウンローダーとか使えば簡単になりそうです。
「解説編」のプログラムを改変して、全部自動化してしまってもいいんですよ?(切望)

Dr.WalletのデータからCSVを作る(解説編)