Ir para o conteúdo
Exportar para CSV

Como exportar os dados do Apple Health para CSV

O app Saúde não exporta CSV: ele gera um arquivo export.zip com os dados em XML (Resumo, sua foto, Exportar Todos os Dados de Saúde). Para ter CSV, converta esse XML com um script ou use um app da App Store que lê o Apple Health e grava CSV. Abaixo, os dois caminhos, com um script que testamos num arquivo de 1 milhão de registros.

Por equipe telo · Revisado em

Exportar pelo app Saúde (oficial, gratuito)

Este é o único export que a Apple documenta. Ele junta tudo o que o app Saúde guarda, sem escolher métrica nem período.

  1. Abra o app Saúde no iPhone.
  2. Toque em Resumo e depois na sua foto ou nas suas iniciais, no canto superior direito.
  3. Role o perfil até o fim e toque em Exportar Todos os Dados de Saúde.
    Perfil do app Saúde rolado até o fim, com o botão azul Exportar Todos os Dados de Saúde abaixo da seção Privacidade
    Perfil do app Saúde. Simulador do iPhone, iOS 27, 2026-11-14.
  4. No aviso Exportar Dados de Saúde, toque em Exportar. Com anos de dados, a preparação pode levar alguns minutos.
    Aviso Exportar Dados de Saúde perguntando se você tem certeza de que deseja exportar seus dados, com os botões Cancelar e Exportar
    O aviso de confirmação. Simulador do iPhone, iOS 27, 2026-11-14.
  5. A folha de compartilhar mostra o arquivo como exportar, um Arquivo ZIP. Toque em Salvar em Arquivos, o jeito mais simples de abrir depois no computador.
    Folha de compartilhar com o Arquivo ZIP exportar no topo e as ações Copiar, Adicionar Etiquetas e Salvar em Arquivos
    A folha de compartilhar. Os 2 KB são de um simulador vazio; um export real é bem maior. iOS 27, 2026-11-14.
  6. No computador, descompacte o arquivo ZIP. Os registros ficam em apple_health_export/export.xml.

Converter o export.xml em CSV com Python

O export.xml guarda cada medição como uma linha Record, com tipo, unidade, data e valor. O script abaixo lê o arquivo em fluxo, separa um tipo de dado e grava um CSV com início, fim, valor, unidade e origem. Precisa só do Python 3, sem instalar nada.

  1. Salve o código abaixo como to_csv.py na mesma pasta do apple_health_export.
  2. No Terminal, nessa pasta, rode: python3 to_csv.py apple_health_export/export.xml HKQuantityTypeIdentifierStepCount
  3. O CSV sai na mesma pasta, com o nome do tipo de dado, e a última linha impressa diz quantos registros foram gravados. Troque HKQuantityTypeIdentifierStepCount pelo tipo que quiser, por exemplo HKQuantityTypeIdentifierHeartRate para frequência cardíaca.
python
import csv, sys
import xml.etree.ElementTree as ET

src, want = sys.argv[1], sys.argv[2]  # export.xml HKQuantityTypeIdentifierStepCount
rows = 0
with open(want + ".csv", "w", newline="", encoding="utf-8-sig") as out:
    w = csv.writer(out)
    w.writerow(["startDate", "endDate", "value", "unit", "sourceName"])
    events = ET.iterparse(src, events=("start", "end"))
    _, root = next(events)
    for event, el in events:
        if event == "end" and el.tag == "Record":
            if el.get("type") == want:
                w.writerow([el.get("startDate"), el.get("endDate"), el.get("value"), el.get("unit"), el.get("sourceName")])
                rows += 1
            root.clear()
print(rows, "rows in", want + ".csv")

O que o nosso teste mostrou

Montamos um export.xml de exemplo no formato da Apple, com 1 milhão de registros de passos e frequência cardíaca (220 MB, valores ilustrativos, não são dados de uma pessoa). Num Mac com Apple Silicon e Python 3.15, em 2026-11-13:

O tempo é parecido; a memória não. Uma estimativa, sem teste: na mesma proporção, um export real de 1 GB pediria perto de 4 GB de memória para ser lido inteiro, o bastante para travar um notebook comum. O script em fluxo ficou perto de 16 MB no teste.

Conversão de um export.xml de 220 MB com 1 milhão de registros
Jeito de ler o XMLMemória usadaTempo
Em fluxo (o script acima)16 MB2,2 s
Carregando o arquivo inteiro (ElementTree.parse)964 MB1,9 s

Os caminhos, lado a lado

Formas de tirar CSV do Apple Health
CaminhoPreçoO que exigeLimiteFonte, data
Export do app Saúde + scriptGratuitoComputador com Python 3Só XML na saída do iPhone; a conversão é por sua contaApple Support
Health Export CSV (app)US$ 2,99; Remote US$ 4,99 por mês ou US$ 29,99 por anoiPhoneCSV e GPX direto do iPhone; o Remote sincroniza em segundo planoApp Store
Health Auto Export (app)Basic US$ 2,99 (compra única); Premium US$ 1,99 por mês, US$ 6,99 por ano ou US$ 24,99 vitalícioiPhoneO plano Free não exporta; Basic exporta à mão (CSV e JSON); exportação automática só no PremiumApp Store
teloPro US$ 49 por ano; no Free o assistente só vê os últimos 7 diasiPhone com o app teloCSV de valores por dia, sono e treinos pela sua conta na web, uma vez por dia, inclusive no Free; total por dia, não cada amostra. Também entrega o histórico a Claude, ChatGPT e outros assistentes (inteiro só no Pro) e, no Pro, uma API em JSONApp Store

Quando você não precisa de CSV

Se o objetivo é perguntar algo sobre os dados ("minha frequência cardíaca de repouso caiu este ano?"), exportar e converter toda vez dá trabalho. O telo lê o Apple Health pelo app do iPhone e deixa Claude, ChatGPT e outros assistentes consultarem o histórico direto, sem arquivo. Quem programa pode ler os mesmos dados pela API REST pessoal, em JSON, com até 500 linhas por chamada. Se você só quer planilhas, o telo também devolve a cópia dele em CSV: uma linha por dia e métrica, por noite e por treino, no seu fuso (Conta > Seus dados, na web).

bash
curl 'https://telo.health/api/v1/query_daily?metrics=steps&from=2026-11-01&to=2026-11-08&granularity=day' \
  -H "Authorization: Bearer $TELO_API_KEY"
FAQ

Dúvidas práticas

O Apple Health exporta CSV direto?

Não. O export do app Saúde gera um export.zip com os dados em XML. Para CSV, converta o export.xml com um script ou use um app da App Store que grava CSV.

Dá para exportar só uma métrica ou um período?

Não pelo export oficial, que leva tudo de uma vez. O script deste guia separa um tipo de dado; os apps da tabela deixam escolher métrica e período no iPhone.

Por que o export.xml é tão grande?

Cada medição vira uma linha, e o relógio mede frequência cardíaca muitas vezes por dia. Alguns anos de uso passam fácil de centenas de megabytes.

Onde fica o arquivo exportado?

Onde você escolheu na folha de compartilhar. Com Salvar em Arquivos, o export.zip fica na pasta que você apontou no app Arquivos (No Meu iPhone ou iCloud Drive). Se você mandou por AirDrop para um Mac, ele vai para a pasta Downloads.

Dá para exportar só os treinos ou só o sono?

Não pelo export oficial. Depois de exportar, troque o tipo no script: HKCategoryTypeIdentifierSleepAnalysis para sono. Treinos ficam em linhas Workout, não Record, e pedem outro script; os apps da tabela exportam treinos e sono separados no iPhone.

Como abrir o export.xml no Excel?

Não abra o XML direto. Converta para CSV, um arquivo por tipo de dado, e confira se o CSV tem menos de 1.048.576 linhas, que é o máximo de uma planilha do Excel.

O telo exporta CSV?

Sim, desde novembro de 2026. Na sua conta do telo na web, Seus dados > Baixar tudo (CSV) entrega um zip com valores por dia, sono, treinos e qual IA leu o quê, com os horários no seu fuso. Ele traz o que o iPhone mandou ao telo, somado por dia, e não cada amostra do Apple Health; para as amostras brutas, use o export do app Saúde. Uma vez por dia, inclusive no Free.

Fontes e disponibilidade

Planos, regiões e telas podem mudar. Confira as fontes oficiais antes de configurar.

Como este guia foi preparado

Em 2026-11-14 conferimos os passos do export na página de suporte da Apple e os preços e planos nas páginas da App Store; o limite de linhas vem da documentação da Microsoft, conferida em 2026-11-13. Os prints são do app Saúde no simulador do iPhone (iOS 27, sem dados e sem conta do iCloud) em 2026-11-14, por isso o perfil mostra o aviso de backup. O script foi medido numa sessão nossa em 2026-11-13, num export.xml de exemplo no formato da Apple com 1 milhão de registros ilustrativos, num Mac com Apple Silicon e Python 3.15; o número de 1 GB é estimativa pela mesma proporção. Não usamos dados de saúde de ninguém.