Gesundheitsdaten vom iPhone als CSV exportieren und auswerten – so geht’s

iPhone-Gesundheitsdaten: CSV-Export und Auswertung

Dein iPhone und deine Apple Watch zeichnen jeden Tag eine riesige Menge an Daten auf: Herzfrequenz, Schritte, Schlaf, Blutsauerstoff und mehr. Diese Anleitung ist für alle, denen die Diagramme in der App „Health“ nicht reichen und die die Zahlen lieber selbst auswerten möchten.

Das funktioniert genauso gut, um Forschungsdaten aufzubereiten, wie um die eigenen Aufzeichnungen durchzusehen.

Schritt 1: Alle Daten aus der App „Health“ exportieren

  1. Öffne die App „Health“ auf deinem iPhone
  2. Tippe oben rechts auf dein rundes Profilbild
  3. Tippe weiter unten auf Alle Gesundheitsdaten exportieren
  4. Warte, bis der Export abgeschlossen ist (je nach Datenmenge dauert das einige Minuten bis über zehn Minuten)
  5. Wenn sich das Teilen-Menü öffnet, nutze AirDrop, Mail oder eine andere Option, um die Datei an deinen Mac zu senden

Der Export ist eine ZIP-Datei. Doppelklicke darauf, um sie zu entpacken. Du erhältst einen Ordner namens apple_health_export, der die Datei export.xml enthält. Auf genau diese Datei kommt es an. Wenn du EKG-Aufzeichnungen gemacht hast, findest du dort außerdem CSV-Dateien, und wenn deine Trainings GPS-Routen enthalten, GPX-Dateien.

Schritt 2: Was tun mit export.xml?

Genau hier bleiben viele hängen. export.xml verwendet ein eigenes XML-Format von Apple und ist riesig. Bei Aufzeichnungen aus mehreren Jahren sind einige Hundert MB oder sogar über 1 GB keine Seltenheit. Excel und Numbers können die Datei so nicht öffnen.

Du hast zwei Möglichkeiten.

Möglichkeit A: Ein eigenes Skript schreiben

Verwende in Python iterparse. Damit wird ein Datensatz nach dem anderen verarbeitet, statt alles auf einmal in den Speicher zu laden.

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() # Speicher freigeben (ohne diese Zeile stürzt das Skript ab)

Um nur bestimmte Typen zu extrahieren, filterst du nach elem.get("type") (HKQuantityTypeIdentifierStepCount für Schritte, HKQuantityTypeIdentifierHeartRate für die Herzfrequenz).

  • Geeignet für: alle, die programmieren können und genau steuern möchten, was extrahiert wird
  • Hinweis: Wenn du elem.clear() vergisst, geht dem Skript der Speicher aus und es stürzt ab. Trainings und Schlaf verwenden andere Tags als Record. Wenn du sie brauchst, musst du sie separat verarbeiten

Möglichkeit B: Eine Konvertierungs-App verwenden

Wenn du lieber keinen Code schreiben möchtest, ist eine spezialisierte App der schnellste Weg.

Unsere eigene App HealthKit Parser ist eine Mac-App, die genau für diesen Zweck entwickelt wurde.

  1. Öffne HealthKit Parser auf deinem Mac, klicke auf Import XML und wähle die Datei export.xml im entpackten Ordner aus
  2. Prüfe die geladenen Datensätze
  3. Klicke auf Export CSV, um die Datei zu sichern

Das Entscheidende: Die App ist dokumentbasiert. Importiere die Daten einmal und sichere das Dokument im Format von HealthKit Parser – danach öffnet es sich sofort, ohne dass die XML-Datei erneut eingelesen werden muss. Der erste Import einer großen Datei dauert eine Weile, danach entfällt das Warten.

Deine Daten werden nirgendwohin gesendet. Die App liest nur die Datei, die du ihr gibst, und schreibt eine CSV-Datei an den Ort, den du wählst. HealthKit Parser ist ein Einmalkauf und läuft unter macOS 12 oder neuer.

→ Mehr über HealthKit Parser erfahren

Schritt 3: Die CSV-Datei auswerten

Die exportierte CSV-Datei ist reiner Text mit einem Datensatz pro Zeile. Excel, Numbers, R und Python können sie direkt einlesen.

Ein paar Tipps, die die Auswertung erleichtern:

  • Nach der Spalte type filtern: Eine einzige Datei enthält Dutzende Datenarten. Grenze sie deshalb zuerst auf den Typ ein, den du brauchst
  • Die Spalte sourceName prüfen: iPhone, Apple Watch und Apps von Drittanbietern erfassen denselben Messwert manchmal doppelt. Sei besonders vorsichtig, wenn du Schritte addierst
  • Datumsangaben enthalten eine Zeitzone: Sie sehen etwa so aus: 2026-09-01 07:12:33 +0900. Um nach Tagen zusammenzufassen, nimmst du am einfachsten die ersten 10 Zeichen
  • Einheiten stehen in der Spalte unit: Derselbe Messwert kann je nach Quelle in unterschiedlichen Einheiten erfasst sein

Wichtige Hinweise

Was du exportierst, sind deine persönlichen Gesundheitsdaten. Geh daher sorgfältig damit um, wenn du sie teilst oder aufbewahrst. Außerdem ist nicht garantiert, dass diese Werte die Genauigkeit eines Medizinprodukts haben. Wende dich bei Entscheidungen über deine Gesundheit an medizinisches Fachpersonal.