iPhoneで管理してる体重(ヘルスケア)データをMacで管理する方法 XMLをCSVに変換するのがポイント

iPhoneで管理してる体重(ヘルスケア)データをMacで管理する方法 XMLをCSVに変換するのがポイント

iPhoneで体重管理してるけど、いまいちヘルスケアのグラフが使いにくい…。

この腰痛体操のおかげでもう3ヶ月以上も腰痛再発なし!おかげで継続的に走れるようになり、ご覧の通り体重がどんどん落ちてます!ピークで85.1kgあったんですが、先日80kgをきりました!いやぁ、うれしいっ!やっぱり食事制限だけじゃ体重は落ちないということがよーくわかりました。

僕はiPhoneで体重管理(毎日体重測って入力してます)してまして、このグラフを眺めることがモチベーションアップのひとつとしてとても役立ってます。ただ、このグラフ。正直使いにくい。日・週・月・年の切り替えは早くていいんですが、グラフのピークとボトムの数値をすぐ確認できないんです。詳しく知るには「すべての記録データ」を見返さないといけないんですよね。

これじゃちょっと使いづらいので、ここ最近は定期的にMac(Windowsでももちろん可)にデータを移してパソコン上で管理するようにしてます。具体的にどうやるかというと…。

スポンサーリンク

まずはiPhoneからヘルスケアのデータを書き出す

まず最初に、iPhoneからヘルスケアのデータを書き出します。

ヘルスケアデータを書き出す
ヘルスケアアプリの右上にある人のアイコンをタップして、アカウント情報を表示します。続いて「ヘルスケアデータを書き出す」をタップ。


ヘルスケアデータを書き出す
「データを書き出してもよろしいですか?少し時間がかかることがあります。」と表示されるので、ちょっと気にはなりますが、そのまま「書き出す」をタップ。しばらく時間が経った後…


ヘルスケアデータの保存場所を選択する
保存先または送付するツール表示されます。お好きな方法を選択してください。

今回は「iCloud Driveに追加」を選択してみました。iCloud Driveの中の追加先をタップして選択します。


iCloud Driveに保存されたヘルスケアデータ
MacでiCloud Driveを見てみると、先ほど書き出した「書き出したデータ.zip」という圧縮ファイルが保存されてます。これを解凍すると「apple_health_export」というフォルダが出てきました。

フォルダ内にある「書き出したデータ.xml」の中に、iPhoneのヘルスケアアプリに保存されている様々なデータが保存されてます。体重、心拍数、歩数、ウォーキング・ランニングの距離、上った階数、アクティビティの情報などなど。驚いたのがその容量。なんと537.2MBもあります。(export_cda.xmlの中にもデータは入ってますが、xmlの記述方法が異なってます。今回は体重の情報がまとまってて利用しやすかった「書き出したデータ.xml」を使用。)

XMLファイルから利用したい情報を探してCSVに変換

これをテキストエディタなどで開いて利用したい情報を探します。

ただ、ファイルサイズが500MB越えしてるもんだから、動作が重い重い。うちの環境では、Xcodeで開くのが一番速かったです。CotEditorだとスクロールするのもほとんどできないぐらい重かった。

今回は、体重データを探してたので「83.2」とか過去にiPhoneに入力した体重を検索して見つけました。その情報がこれ。

ヘルスケアの体重データ
Recordタグで囲まれた中に、valueで体重が記載されてます。具体的には以下の部分です。

<Record type="HKQuantityTypeIdentifierBodyMass" sourceName="ヘルスケア" sourceVersion="9.3.1" unit="kg" creationDate="2016-04-02 20:52:21 +0900" startDate="2016-04-02 20:52:00 +0900" endDate="2016-04-02 20:52:00 +0900" value="83.2"> <MetadataEntry key="HKWasUserEntered" value="1"/> </Record>

この体重が書かれている部分をごっそりコピーします。

このXMLをCSVに変換してExcelで編集できるようにします。うちのExcel Mac 2011ではXMLのインポートができなかったので、今回はこちらのサイトを利用させてもらいました。

iOS Health Data Converter
XMLの部分にペーストして「Convert」をクリックすると、XMLのRecordタグのみを対象とし、属性が"type","startDate","value","unit"の値のみ抽出されます。

CSVの部分に、カンマ区切りのCSV形式で変換が完了。あとはこれをコピーして、テキストエディタなどで「体重.csv」など名前をつけて保存。これをExcelで開きます。

CSVを整形してグラフ化

Excelで開くと、日付や体重がこんな感じで表示されます。

CSVに変換した体重データをExcelで開く
一番左から"type","startDate","value"です。typeは体重だけなので列ごと削除。単位のkgもいらないので削除。日付は時間は不要なので、セルの書式設定で変更します。


セルの書式変更
「yyyy/m/d h:mm」を「yyyy/m/d」に変更します。

あとは、好きなように整形してグラフ化すれば完了です。

グラフ化して完了
ピークの体重と現在の体重が一発でわかるようになりました。


iPhoneで大まかな情報を掴みつつ、Macで詳細情報を目で確認。時系列で表示されてるので、腰痛が再発した時期などいろんな情報を紐づければ、さらにデータを有効活用できます。この情報は使える!

今回はMacでやってみましたが、Windowsでももちろん可能です。ヘルスケアで書き出された情報はXML形式なので、あとはそれをCSVなど自分が好きな形式に変換するだけです。

不満があるとすれば、書き出したファイルのサイズがでかすぎること。すべてじゃなく、項目ごとに書き出せるようになるともっと使いやすいんだけどなぁ。

スポンサーリンク

この記事をシェアする

  • このエントリーをはてなブックマークに追加

よく読まれている関連記事はこちら

このブログ「SKEG*log(スケッグログ)」を購読する

この記事が気に入ったら
「いいね!」しよう。
最新記事をお届けします。
● 最新記事をRSSで配信中です。feedlyへの登録はこちらからお願いします。