家計簿ソフトの移行の準備
iPhoneで日々の買い物のお金の記録をつけているのですけど、その記録しているソフトは既に開発が止まってしまっております。幸いにもiOS 16では動いているけど、この先いつ動かなくなるかわからないというわけですな。ということで、移行の準備をしたいと思うわけです。
支出管理ってソフトを使ってます。たぶんググっても一般名詞すぎてなかなかヒットしないかと思います。それはともかく、このソフトはcsvでのデータの書き出しに対応しています。なので、書き出したのを新しいツール向けに整型して、新しいツールに読み込んでやれば引き継ぎもできるだろうという目論見ですね。ということで、新しいツールはcsvの読み込みに対応していることが必須になります。また将来を考えるとcsvへの書き出しにも対応していることが必要でしょう。
ちなみにこの支出管理のcsv書き出しは書き出したファイルをメールで送付するという方法で、つまり、まだiOSにファイル管理機能がつく前のソフトなんだなってことがわかります。古いです。(個人的にはこのツールの記録が2009年12月から始まっているので、その頃からこのソフトが存在していたことがわかります)
さて、書き出したcsvファイルは、まあ一般的にはExcelに読み込んで作業ってことが多いのでしょうけど、自宅にExcelはありません。でもMacユーザなのでNumbersはあります。だからNumbersで整理することにしました。
記録をし始めた頃は自分の中でもルールが定まらず、項目名や備考部分の記述があやふやなところがありました。折角なのでこれを整理します。
例えば、Name欄に"グッドアフタヌーン"って入れているところを、"グッドアフタヌーン"はNote欄に入れてName欄には"雑誌"としたいとします。この作業、手でやるのは当然大変なのでなんとか自動化したいと思うわけですが、Numbersの式でやるのも大変じゃないかなと思ったとき、AppleScriptが使えることを思い出しました。結果、
tell application "Numbers" activate set setNoteName to "グッドアフタヌーン" set setName to "雑誌" tell document 1 tell sheet 1 tell table 1 repeat with i from 1 to 9167 set addressCategory to "G" & i set addressName to "H" & i set addressNote to "I" & i if value of cell addressName = setNoteName then set value of cell addressNote to setNoteName set value of cell addressName to setName end if end repeat end tell end tell end tell end tell
でいくことができましたです。
当然ながら、G,H,Iって表の列の名前は今回のcsvに特化した値だから、他の表で扱うならそこはその表の内容に合わせないといけませんね。repeat行の9167も、今回のcsvファイルがそれだけ行数があったってことだけなので、まあ適切にって感じです。
さて、次はソフトの選定ですな。