フォーム読み込み中
毎日の歩数、体重、睡眠…Appleヘルスケアアプリに大量な記録データが蓄積されているのに、「書き出し方が分からない」という理由だけで、そのデータは眠ったままです。巨大な宝の山を、ただ「入っているだけ」で終わらせていませんか?
<この画像はGeminiによって生成されています。登場人物は架空のものです。>
本記事では、エクスポートすると2GB超になりやすい巨大なHealthデータを、環境構築不要のGoogle Colabでストリーミング処理し、必要な「歩数」と「体重」だけを抽出して約14MBまで軽量化する手順を解説。最後にGeminiへCSVを渡して相関や傾向を可視化し、日々の変動の“正体”を読み解く実践方法まで紹介します。
Appleヘルスケアアプリは、iPhoneさえあれば膨大な健康データを自動で蓄積してくれます。しかし、そのデータを「分析」するためには、まず端末の外へ取り出す必要があります。
iPhoneでのエクスポート手順
ヘルスケアアプリを開く。
右上のユーザーアイコン(プロフィール写真)をタップ。
一番下にある「すべてのヘルスケアデータを書き出す」をタップ。
確認ダイアログで「書き出す」を選択。
準備が完了するまで待機(データ量が多いと数分かかります)。
共有メニューが表示されたら、Googleドライブを選択して保存。
書き出された export.zipを解凍すると、中にexport.xml という巨大なファイルが入っています。これが今回の解析対象です。今回はGoogleドライブのマイドライブに「apple_health_export」というフォルダを作成してその中にデータを保存します。
エクスポートしたファイルを見て驚くのは、そのサイズです。数年分のデータが蓄積されている場合、2GBを超えることも珍しくありません。
2GBを超える巨大なXMLを前に、まずは、「Geminiにそのまま読み込ませればいいのでは?」と考えるのが普通です。しかし、そこには厚い「仕様の壁」がありました。
Geminiの仕様による制限
最新の Gemini 3 Pro (Preview) では、処理できる情報量(コンテキストウィンドウ)が飛躍的に進化していますが、それでも2GBの壁は高いです。
コンテキストウィンドウ(記憶容量): Gemini 3 Pro (Preview) の最大容量は約100万トークン程度。
テキスト量との比較: 2GBのテキストデータは、文字数に換算すると数億から十億トークンに達する可能性があります。つまり、最新のGeminiをもってしても、一度に読み込めるのは全体の数%にも満たないのが現実です。
検討して断念した「2つの失敗ルート」
分析に必要なデータだけにしてしてみようと思いデータの断捨離を考えましたが、以下の理由で断念しました。
1. Google Apps Script (GAS) ルート:
実行時間制限:1回の処理が「6分」という厳しい制限があり、2GBの解析には到底足りません。
メモリ制限:そもそもGASは巨大なファイルをメモリに展開して処理する設計になっておらず、読み込みの時点でエラーになります。
2. ローカルPythonルート:
環境構築のハードル: 自分のローカル環境にPythonをインストールし、パスを通し、ライブラリを管理する……という「分析以前の準備」が非常に手間です。ハードウェアスペック(メモリ不足)で動作が不安定になる懸念もありました。
この「詰み」の状態を打開し、環境構築不要で巨大データを処理できる最適解が、Google Colabだったのです。
Google Colab(Google Colaboratory)とは、ブラウザ上でPythonプログラミングや機械学習・データ分析を、環境構築不要で手軽に始められるクラウド開発環境です。Googleアカウントがあれば誰でも利用でき、Jupyter Notebook形式でコードと実行結果を同時に保存・共有でき、GPU/TPU(高速計算用ハードウェア)を利用できる点が大きな特徴で、学習・研究・開発に広く使われています。
主な特徴とメリット
環境構築不要:PCにPythonやライブラリをインストールする必要がなく、ブラウザだけで始められます。
GPU/TPU利用:機械学習に不可欠なGPUやTPUを無料で利用でき、重い計算も高速に処理できます。
Jupyter Notebook形式:コード、実行結果、説明文をまとめて一つのノートブック(.ipynbファイル)として保存・実行でき、進捗を管理しやすいです。
クラウドベース:インターネットがあればどこからでもアクセスでき、作成したノートブックはGoogleドライブに保存されるため、共有も簡単です。
データ分析・機械学習向け:PandasやNumPy、Matplotlibなどのライブラリが標準で利用でき、データサイエンス分野で特に活用されています。
共同編集:他のユーザーとリアルタイムでノートブックを共有・共同編集でき、チーム開発にも適しています。
今回は、簡単なデータ抽出ということもあり「無料枠」を使ってみます。
項目 | 無料版 (Standard) | 有料版 (Colab Pro/Pro+) | 今回の作業への影響 |
月額料金 | 0円 | 有料(サブスクまたはプリペイド) | 無料版で完結します |
メモリ | 約12GB | 25GB〜(ハイメモリ) | 2GBの加工には12GBで十分 |
GPU/TPU | 空きがあれば利用可 | 優先的に割り当て | 今回はCPU処理のみでOK |
接続維持 | 90分不操作で切断 | 長時間の維持・バックグラウンド実行 | 数分の作業なので無料版でOK |
請求リスク | なし(自動停止する) | 契約した範囲内での支払い | 勝手に課金されることはありません |
※2026/01/15時点に画面上で表示されていた金額です。
Colabの概要操作手順
Google Colabにアクセスし「ノートブックを新規作成」をクリック。
左側のフォルダアイコンからGoogle ドライブをマウント(接続)する。
コードセルにPythonコードを貼り付ける。
再生ボタン(実行)を押して、処理が終わるのを待つ。
Colabの参考情報
Colabのトップ画面
Python▼
import xml.etree.ElementTree as ET
import csv
# 設定:入力(XML)と出力(CSV)のパス
input_path = '/content/drive/MyDrive/apple_health_export/export.xml'
output_path = '/content/drive/MyDrive/apple_health_export/steps_and_weight.csv'
# 抽出ターゲット(歩数と体重)
target_types = {
'HKQuantityTypeIdentifierStepCount': '歩数',
'HKQuantityTypeIdentifierBodyMass': '体重'
}
with open(output_path, 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['datetime', 'type', 'value', 'unit'])
# iterparseで1要素ずつ処理してメモリ消費を抑える
context = ET.iterparse(input_path, events=('end',))
for event, elem in context:
if elem.tag == 'Record':
record_type = elem.get('type')
if record_type in target_types:
writer.writerow([
elem.get('startDate'),
target_types[record_type],
elem.get('value'),
elem.get('unit')
])
elem.clear() # 処理済みデータをメモリから解放
2GBを超える export.xml から、分析に必要な「歩数」と「体重」の2項目だけを抽出し不要なノイズデータを除去してみました。
処理前後(Before / After)の比較: データを絞り込むことで、AIが扱いやすいサイズまで劇的に軽量化されます。また、XMLからCSVへデータ形式を変更していることで不要なXMLタグデータ等も削減されています。
比較項目 | 変換前(XML) | 変換後(CSV) | 効果 |
ファイルサイズ | 約2.0 GB | 約14.0 MB | 約99%削減 |
データ件数 | 約800万件 | 約30万件 | 必要な項目に集中 |
ファイル形式 | XML(解析困難) | CSV(汎用的) | 表計算・AIで即利用可 |
主な抽出項目 | 全項目(心拍、睡眠、etc) | 歩数・体重のみ | ノイズの除去 |
軽量化された約14MBのCSVデータをGeminiにアップロードし、「歩数と体重の相関を分析して」と依頼します。CSVデータから相関関係を読み解く「データサイエンティスト」としての役割も果たしてくれます。
相関の可視化: 歩数が多い日と体重が減る日のラグ(遅延)を分析。
パターンの発見: 「週末の歩数減少が月曜の体重増にどう影響しているか」といった、個人の生活習慣に根ざしたインサイトが得られます。
データが「歩数と体重」の2項目に整理されているため、AIの回答精度も飛躍的に向上します。(画像はブログ用に一部加工していますが)、Geminiを使えばお手持ちのデータから、傾向が一目でわかるグラフを誰でも簡単に作成できます。
今回のプロセスを通じて得られる成果は以下の3点です。
日々の変動の「正体」を突き止める(例:歩数と体重): 大量のデータを分析することで、体重の変化が単なる「誤差」なのか、運動による「確かな成果」なのかを客観的に判断できます。自分の体が反応する「基準」が数値でわかるため、迷いなく継続できます。
AIを専属トレーナーにできる: 整理されたデータがあれば、Geminiはあなた専用の分析レポートをいつでも作成してくれます。
長期トレンドを味方につける: 数年分 (800万件の履歴)を俯瞰することで、一喜一憂しない健康管理が可能になります。
Google Colabは非常に強力ですが、利用後は以下の点に注意してください。
環境は「使い捨て」: Colabのローカルに保存したファイルは、ブラウザを閉じたりセッションが切れたりすると自動的に消去されます。大事なCSVファイルは、必ずGoogle ドライブ上のフォルダに出力するようにしましょう。
セッションの終了: 処理が終わったら、上部メニューの「ランタイム」→「ランタイムを解除して削除」を推奨します。リソースを適切に解放することは、クラウドサービスをスマートに使いこなすためのマナーです。
個人情報の管理: 今回のエクスポートデータには位置情報などが含まれる場合があります。共有設定には十分注意し、自分の管理下で運用しましょう。
Just Do Information Technology ーー難しく考えず、まずはデータを動かす楽しさを体験しませんか?
ソフトバンクはAWS アドバンストティアサービスパートナーです。「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。
Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。
Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。
条件に該当するページがございません