👉 Ve a https://www.myfitnesspal.com/food/diary
Asegúrate de hacerlo desde un ordenador (no móvil) y con el idioma en inglés si ves que da problemas.
Lamentablemente, MyFitnessPal no tiene una opción oficial para exportar el diario completo en CSV. Pero puedes:
Copiar el contenido de cada día y pegarlo en una hoja de cálculo.
O usar extensiones como:
🔌 MyFitnessPal Exporter (Chrome) (si sigue funcionando)
Hay un paquete Python muy útil: 👉python-myfitnesspal
Con él puedes conectarte a tu cuenta, extraer datos del diario y volcarlos en un CSV o directamente a Google Sheets.
bash
CopiarEditar
pip install python-myfitnesspal
python
CopiarEditar
import myfitnesspal
import csv
from datetime import date, timedelta
client = myfitnesspal.Client('tu_usuario', password='tu_contraseña')
# Rango de fechas (últimos 7 días)
start_date = date.today() - timedelta(days=7)
data = []
for i in range(8):
day = start_date + timedelta(days=i)
diary = client.get_date(day.year, day.month, day.day)
for entry in diary.meals:
for item in entry.entries:
data.append([
day.isoformat(),
entry.name,
item.name,
item.nutrition_information.get('calories', 0),
item.nutrition_information.get('carbohydrates', 0),
item.nutrition_information.get('protein', 0),
item.nutrition_information.get('fat', 0)
])
# Guardar como CSV
with open('myfitnesspal_export.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(['Date', 'Meal', 'Food', 'Calories', 'Carbs', 'Protein', 'Fat'])
writer.writerows(data)
Esto te da un CSV con:
Fecha
Tipo de comida (Desayuno, Almuerzo…)
Nombre del alimento
Calorías, Carbohidratos, Proteínas y Grasas
Sube el myfitnesspal_export.csv a Google Drive
Abre Google Sheets > Archivo > Importar > Subir
Selecciona el CSV y elige "Insertar nueva hoja"
¡Listo! Ya puedes trabajar con tus datos.
Si generas un CSV y lo alojas en un servidor (público o autenticado), puedes importar automáticamente en Google Sheets con:
javascript
CopiarEditar
function importMFPData() {
const fileUrl = "https://tuservidor.com/myfitnesspal_export.csv";
const response = UrlFetchApp.fetch(fileUrl);
const csv = Utilities.parseCsv(response.getContentText());
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MFP") || SpreadsheetApp.getActiveSpreadsheet().insertSheet("MFP");
sheet.clear();
sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}
Programa esta función para que se ejecute cada día desde el menú de Extensiones > Apps Script > Triggers.
Visualizar tu ingesta calórica diaria
Ver evolución semanal de macros
Comparar ingesta vs gasto calórico si importas también Strava o Garmin
Generar alertas si superas ciertos límites
Si quieres te puedo crear:
📊 Plantilla de Google Sheets lista para importar datos
📈 Dashboard con gráficos por semana, por tipo de comida, etc.
⚙️ Script en Python que sube automáticamente a Google Drive y se importa en Sheets