把你的 Apple Health 导出转成 CSV 和 JSON
选择“健康”应用导出的 export.zip,就能得到可直接放进电子表格的文件:每项指标的每日总计、按每天分钟数统计的睡眠和其他类别、每一次训练,以及你选定的任一指标的原始记录。它免费,并且完全在这个浏览器里运行。页面不被允许发出网络请求,所以你的健康数据不会离开你的电脑。
你的文件
某项指标的每条记录
比如心率,每天有几千条样本。选一项指标,就能得到一个 CSV,里面有每条样本、它的来源和时间。
你的导出文件里有什么
怎样从 iPhone 获取 export.zip?
- 打开健康应用,点右上角你的头像或姓名首字母。
- 点底部的导出所有健康数据,再点导出.
- 等待它生成文件。如果有多年的数据,可能要花几分钟。
- 用 AirDrop 把
export.zip发到你的电脑上,或者把它存到“文件”应用,然后在 iPhone 的 Safari 中打开本页。
导出文件很大时,用电脑更合适。几个 GB 的导出文件可能会让手机浏览器内存不足。
每个文件里有什么?
| 文件 | 每行代表 | 列 |
|---|---|---|
apple-health-daily-metrics.csv | 每天、指标、来源和单位 | date, type, source, unit, samples, sum, average, min, max |
apple-health-daily-categories.csv | 每天、类别、来源和值 | date, type, source, value(睡眠时为 InBed, AsleepCore, AsleepDeep, AsleepREM, Awake), samples, minutes |
apple-health-workouts.csv | 训练 | start, end, activity, minutes, source, distance, distance unit, active energy, energy unit, average heart rate |
apple-health-summary.json | 以上全部 | 与上面相同的行,格式为 JSON,外加每种类型及其记录数和日期范围的列表 |
apple-health-<metric>.csv | 样本(针对你所选的指标) | type, source, unit, value, start, end |
日期是每条样本开始的那一天,按手机记录它时所用的时区计算。类型名称去掉了 Apple 的前缀,所以 HKQuantityTypeIdentifierStepCount 变成 StepCount。对一天内可以累加的数据(步数、距离、活动能量、饮食营养素)用 sum,对测量读数(心率、体重、血氧)用 average、min 和 max。
为什么我的步数比“健康”应用显示的高?
因为你的 iPhone 和 Apple Watch 都会计步,而 Apple Health 两份样本都会保留。当两者重叠时,“健康”应用会优先采用其中一个来源,给出一个总数。导出文件不会替你做这项处理,所以这个转换器把每个来源单独放在一行,而不是加在一起。要得到每日步数,请使用某一个来源的那一行(通常是你的手表),或取两者中较高的值,而不是两者之和。
我的数据会被上传吗?
不会。转换器是在你电脑上运行的两个脚本(页面脚本和解析器,都可以直接阅读)。本页带有一项会阻断所有网络连接的安全策略,所以即使出现漏洞,也无法把你的文件发到任何地方,页面上也没有统计分析。页面加载完成后你可以关掉 Wi-Fi,它照常工作。
它能处理多大的导出文件?
几个 GB 都行。它以流的方式读取 zip,而不是整个载入,所以无论 export.xml 多大,内存占用都很低,Apple 用于大型导出的大文件(zip64)格式也支持。我们测试时,一个 1.1 GB 的导出文件(超过四百万条记录)大约用了 20 秒。它需要较新的 Safari(16.4 或更高版本)、Chrome、Edge 或 Firefox。
想省去每次导出的麻烦?
“健康”应用的导出是完整备份,每次都从头重新生成。Marrow Health 直接在你的 iPhone 上读取 Apple Health,所以你随时可以把任意指标导出为 CSV 或 JSON,把训练路线导出为 GPX,每日总计还会与 Apple 自己的数字对齐(步数不会重复计算)。它还可以按计划把你的数据推送到某个 URL,或让 AI 读取。这些全都免费。
更多方案:导出 Apple Health 数据的所有方式、定时导出,以及让 AI 智能体访问数据.