iPhone のヘルスケアデータを CSV にするには、「ヘルスケア」アプリで「すべてのヘルスケアデータを書き出す」を実行して export.xml を取り出し、CSV に変換します。export.xml は巨大な XML ファイルなので、変換には Python などのスクリプトか、HealthKit Parser のような変換アプリを使います。
iPhone と Apple Watch は、心拍数、歩数、睡眠、血中酸素など膨大な記録を毎日ためています。「ヘルスケア」アプリのグラフでは物足りず、自分で集計したい——という人のための手順です。
研究用のデータ整理にも、自分の記録を眺めるためにも使えます。
| 項目 | 内容 |
|---|---|
| 書き出し方 | 「ヘルスケア」アプリ → プロフィールのアイコン → 「すべてのヘルスケアデータを書き出す」 |
| 書き出されるファイル | Zip ファイル。展開すると、apple_health_export フォルダに export.xml が入っている。数百 MB〜1 GB を超えることもある |
| CSV にする方法 | Python のスクリプト(iterparse)か、変換アプリ |
| 変換アプリの例:HealthKit Parser の対応環境(2026 年 11 月時点) | Mac アプリ。macOS 12 以降 |
| HealthKit Parser の価格(2026 年 11 月時点) | 買い切り。金額は Mac App Store に表示。サブスクリプションはなし |
手順 1:ヘルスケアアプリからすべてのデータを書き出す
- iPhone で「ヘルスケア」アプリを開く
- 右上の丸いプロフィールアイコンをタップ
- 下のほうにある「すべてのヘルスケアデータを書き出す」をタップ
- 書き出しが終わるまで待つ(データ量によっては数分〜十数分かかります)
- 共有シートが開くので、AirDrop やメールなどで Mac に転送する
書き出されるのは Zip ファイルです。ダブルクリックで解凍すると、apple_health_export というフォルダができ、その中に export.xml が入っています。これが本体です。心電図を記録していれば CSV、ワークアウトの GPS ログがあれば GPX ファイルも一緒に入っています。
手順 2:export.xml をどう扱うか
ここで多くの人がつまずきます。export.xml は Apple 独自の XML 形式で、しかも巨大です。数年分の記録があると数百 MB〜1 GB を超えることも珍しくありません。Excel や Numbers ではそのまま開けません。
選択肢は 2 つです。
選択肢 A:自分でスクリプトを書く
Python なら、メモリに全部読み込まず 1 レコードずつ処理する iterparse を使います。
import csv
import xml.etree.ElementTree as ET
with open("records.csv", "w", newline="", encoding="utf-8") as f:
w = csv.writer(f)
w.writerow(["type", "sourceName", "unit", "startDate", "endDate", "value"])
for _, elem in ET.iterparse("export.xml", events=("end",)):
if elem.tag == "Record":
w.writerow([
elem.get("type"), elem.get("sourceName"), elem.get("unit"),
elem.get("startDate"), elem.get("endDate"), elem.get("value"),
])
elem.clear() # メモリを解放する(これを忘れると落ちます)
種類を絞りたいときは elem.get("type") でフィルタします(歩数なら HKQuantityTypeIdentifierStepCount、心拍数なら HKQuantityTypeIdentifierHeartRate)。
- 向いている人:プログラミングができて、抽出条件を細かく制御したい人
- 注意:
elem.clear()を忘れるとメモリを使い切って落ちます。ワークアウトや睡眠はRecordとは別のタグなので、必要なら追加で処理します
選択肢 B:変換用のアプリを使う
コードを書かずに済ませたいなら、専用アプリが早道です。
私たちが作った HealthKit Parser は、この作業のためだけに作った Mac アプリです。
- Mac で HealthKit Parser を起動し、「XML をインポート」から解凍したフォルダ内の
export.xmlを選ぶ - 読み込まれた記録を確認する
- 「CSV として書き出し」で保存する
ポイントは、ドキュメントベースであることです。一度読み込んで HealthKit Parser の形式で保存しておけば、次回からは XML を解析し直すことなく即座に開けます。大きなファイルの最初の読み込みには時間がかかりますが、その後は待たされません。
データはどこにも送信されません。渡されたファイルを読み込み、指定した場所に CSV を書き出すだけのアプリです。買い切りで、macOS 12 以降に対応しています。
手順 3:CSV を分析する
書き出した CSV は 1 行 1 レコードのプレーンなテキストです。Excel、Numbers、R、Python、どれでもそのまま読めます。
分析するときに覚えておくと楽なポイントです。
type列でフィルタする:1 つのファイルに何十種類ものデータが混ざっています。まず種類を絞りますsourceName列を確認する:iPhone と Apple Watch、サードパーティのアプリが同じ指標を二重に記録していることがあります。歩数を合計するときは特に注意してください- 日付はタイムゾーン付き:
2026-09-01 07:12:33 +0900のような形式です。日単位で集計するなら、先頭 10 文字を切り出すのが手軽です - 単位は
unit列にある:同じ指標でも記録元によって単位が違うことがあります
よくある質問
iPhone のヘルスケアデータを CSV にするには、どうすればよいですか?
まず、iPhone の「ヘルスケア」アプリで、プロフィールのアイコンから「すべてのヘルスケアデータを書き出す」を実行します。Zip ファイルを Mac に転送して展開すると export.xml が入っているので、これを Python のスクリプトか HealthKit Parser のような変換アプリで CSV にします。
ヘルスケアの export.xml は Excel や Numbers で開けますか?
いいえ、そのままでは開けません。export.xml は Apple 独自の XML 形式で、数年分の記録があると数百 MB〜1 GB を超えることもあるためです。CSV に変換してから、Excel、Numbers、R、Python で読み込みます。
ヘルスケアデータの書き出しには、どれくらい時間がかかりますか?
データ量によって、数分〜十数分かかります。書き出しが終わると共有シートが開くので、AirDrop やメールなどで Mac に転送します。
iPhone のヘルスケアデータを CSV にするのに、HealthKit Parser は必要ですか?
必須ではありません。Python で 1 レコードずつ処理するスクリプトを書いても CSV にできます。HealthKit Parser は、コードを書かずに済ませたい人向けの Mac アプリで、買い切りで macOS 12 以降に対応し、データをどこにも送信しません。
iPhone から書き出したヘルスケアの数値は、診断に使えますか?
いいえ。これらの数値は、医療機器としての精度が保証されたものではありません。体調の判断は、医療者に相談してください。
ヘルスケアデータの扱いの注意点
書き出されるのはあなた自身の健康記録です。共有や保管には配慮してください。また、これらの数値は医療機器としての精度が保証されたものではありません。体調の判断は医療者に相談してください。
