Darmowe Tabele Makroskładników: Pobierz Pełne Dane Żywieniowe w Formacie CSV i JSON

Pobierz darmowe tabele makroskładników z pełnymi danymi żywieniowymi dla 500+ popularnych produktów w formacie CSV i JSON. Zawiera białko, węglowodany, tłuszcze, błonnik i kalorie, uporządkowane według kategorii żywności.

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

Niezależnie od tego, czy tworzysz aplikację żywieniową, prowadzisz badania, trenujesz klientów, czy po prostu potrzebujesz wiarygodnej karty odniesienia na biurku, potrzebujesz czystych danych makroskładników w formacie, z którym możesz pracować. Istnieją bazy danych rządowe, ale są one rozległe, niespójne i sformatowane bardziej dla biurokratów niż dla twórców.

Przygotowaliśmy zestaw darmowych tabel makroskładników obejmujących ponad 500 popularnych produktów z pełnym podziałem na makroskładniki. Dane są dostępne w formatach CSV i JSON, gotowe do zaimportowania do arkusza kalkulacyjnego, bazy danych, skryptu lub aplikacji. Każdy wpis został zweryfikowany w oparciu o źródła pierwotne, a pliki są tak skonstruowane, abyś mógł zacząć ich używać od razu, bez potrzeby czyszczenia czy transformacji.

Ta strona zawiera dokładne informacje o tym, co znajduje się w tabelach, jak są zorganizowane dane, jak załadować je programowo oraz jak zgłaszać poprawki, jeśli znajdziesz coś, co wymaga aktualizacji.

Co Zawiera

Tabele makroskładników zawierają ponad 500 najczęściej spożywanych produktów w siedmiu głównych kategoriach. Dla każdego produktu otrzymujesz:

  • Nazwa produktu — standardowa angielska nazwa używana w naukach o żywieniu
  • Kategoria — jedna z siedmiu głównych kategorii (więcej o nich poniżej)
  • Podkategoria — bardziej szczegółowe grupowanie w ramach kategorii głównej
  • Opis wielkości porcji — opis porcji w języku zrozumiałym dla ludzi (np. "1 średni banan", "1 szklanka ugotowanego ryżu")
  • Waga porcji w gramach — odpowiednik wagi porcji w gramach
  • Kalorie — całkowita energia w kilokaloriach (kcal)
  • Białko — gramy białka na porcję
  • Całkowity tłuszcz — gramy całkowitego tłuszczu na porcję
  • Tłuszcz nasycony — gramy tłuszczu nasyconego na porcję
  • Całkowite węglowodany — gramy całkowitych węglowodanów na porcję
  • Błonnik pokarmowy — gramy błonnika pokarmowego na porcję
  • Cukier — gramy całkowitych cukrów na porcję
  • Sód — miligramy sodu na porcję

Każda wartość jest podawana w odniesieniu do wymienionej wielkości porcji, a nie na 100 gramów. Wybraliśmy to podejście, ponieważ dane oparte na porcjach są tym, czego większość ludzi rzeczywiście potrzebuje podczas śledzenia posiłków, tworzenia planów żywieniowych lub wyświetlania informacji o żywieniu w interfejsie. Jeśli potrzebujesz wartości na 100 g, podzielenie przez wagę porcji i pomnożenie przez 100 jest proste.

Tabele nie zawierają mikroskładników poza sodem i błonnikiem. Aby uzyskać pełne profile mikroskładników (witaminy, minerały, aminokwasy), zobacz sekcję o API Nutrola na końcu tego artykułu — tam znajdują się szczegółowe dane.

Specyfikacje Formatu Danych

Format CSV

Plik CSV używa kodowania UTF-8 z wierszem nagłówkowym. Pola są oddzielone przecinkami, a pola tekstowe są ujęte w cudzysłowy. Oto jak wygląda struktura:

food_name,category,subcategory,serving_description,serving_weight_g,calories_kcal,protein_g,total_fat_g,saturated_fat_g,total_carbs_g,fiber_g,sugar_g,sodium_mg
"Pierś z kurczaka, bez kości i skóry, gotowana","Białka","Drób","1 pierś (170g)",170,284,53.4,6.2,1.7,0.0,0.0,0.0,126
"Łosoś atlantycki, gotowany","Białka","Ryby i owoce morza","1 filet (154g)",154,280,39.3,12.4,2.5,0.0,0.0,0.0,109
"Ryż brązowy, gotowany","Zboża i skrobia","Pełnoziarniste","1 szklanka (195g)",195,216,5.0,1.8,0.4,44.8,3.5,0.7,10
"Banan, surowy","Owoce","Owoce tropikalne","1 średni (118g)",118,105,1.3,0.4,0.1,27.0,3.1,14.4,1

Plik CSV jest kompatybilny z Microsoft Excel, Google Sheets, LibreOffice Calc, Apple Numbers oraz każdym językiem programowania obsługującym analizę CSV. Nie jest wymagana żadna specjalna konfiguracja — wystarczy otworzyć plik, a zostanie poprawnie zinterpretowany.

Format JSON

Plik JSON zawiera tablicę obiektów, po jednym dla każdego produktu. Struktura odzwierciedla pola CSV:

{
  "version": "1.4.0",
  "generated": "2026-03-12",
  "source": "Nutrola Macro Reference Tables",
  "record_count": 527,
  "foods": [
    {
      "food_name": "Pierś z kurczaka, bez kości i skóry, gotowana",
      "category": "Białka",
      "subcategory": "Drób",
      "serving_description": "1 pierś (170g)",
      "serving_weight_g": 170,
      "nutrients": {
        "calories_kcal": 284,
        "protein_g": 53.4,
        "total_fat_g": 6.2,
        "saturated_fat_g": 1.7,
        "total_carbs_g": 0.0,
        "fiber_g": 0.0,
        "sugar_g": 0.0,
        "sodium_mg": 126
      }
    }
  ]
}

Plik JSON zawiera pola metadanych na najwyższym poziomie: ciąg wersji do śledzenia aktualizacji, datę generacji, nazwę źródła oraz całkowitą liczbę rekordów. Ułatwia to weryfikację, czy masz najnowszą wersję, oraz budowanie logiki sprawdzania aktualizacji w swoich aplikacjach.

Wartości numeryczne są przechowywane jako liczby, a nie jako ciągi. Wartości null nie występują — jeśli wartość składnika odżywczego jest nieznana, produkt jest wykluczany z zestawu danych, a nie uwzględniany z brakującymi danymi. To było świadome wybór, aby utrzymać dane w czystości i uniknąć cichych błędów w obliczeniach.

Opis Pól

Oto szczegółowy opis każdego pola, w tym jednostki, oczekiwane zakresy i przypadki brzegowe:

Pole Typ Jednostka Opis
food_name string Standardowa angielska nazwa. Zawiera metodę przygotowania, gdy jest to istotne (np. "gotowane", "surowe", "suszone").
category string Jedna z siedmiu głównych kategorii. Zobacz sekcję o kategoriach poniżej.
subcategory string Bardziej szczegółowe grupowanie. Na przykład w ramach "Białek" znajdziesz "Drób", "Czerwone mięso", "Ryby i owoce morza", "Rośliny strączkowe" i "Jaja".
serving_description string Opis wielkości porcji w języku zrozumiałym dla ludzi. Zawsze zawiera wagę w gramach w nawiasach.
serving_weight_g number gramy Liczbowa waga porcji w gramach. Wartości całkowite dla większości produktów, jedna liczba po przecinku dla produktów, gdzie precyzja ma znaczenie.
calories_kcal number kcal Całkowita energia. Obliczona za pomocą systemu Atwater (4 kcal/g białka, 4 kcal/g węglowodanów, 9 kcal/g tłuszczu).
protein_g number gramy Całkowite białko. Precyzja do jednej liczby po przecinku.
total_fat_g number gramy Całkowity tłuszcz, w tym nasycony, jednonienasycony i wielonienasycony.
saturated_fat_g number gramy Tylko kwasy tłuszczowe nasycone.
total_carbs_g number gramy Całkowite węglowodany, w tym błonnik i cukry.
fiber_g number gramy Całkowity błonnik pokarmowy (rozpuszczalny + nierozpuszczalny).
sugar_g number gramy Całkowite cukry (naturalne + dodane). Zestaw danych nie rozdziela cukrów dodanych od naturalnych.
sodium_mg number miligramy Zawartość sodu. Zauważ, że to miligramy, a nie gramy, w przeciwieństwie do innych pól składników odżywczych.

Kilka uwag na temat precyzji: wszystkie wartości składników odżywczych są zaokrąglane do jednej liczby po przecinku. To odpowiada poziomowi precyzji danych źródłowych. Podawanie większej liczby miejsc po przecinku sugerowałoby fałszywy poziom dokładności — skład żywności naturalnie różni się o 5-15% w zależności od warunków uprawy, rasy zwierząt i metod przygotowania.

Kategorie Żywności

Ponad 500 produktów jest zorganizowanych w siedmiu głównych kategoriach, z których każda ma wiele podkategorii:

Białka

Około 95 wpisów obejmujących drób (pierś z kurczaka, udko, indyk, mielony indyk), czerwone mięso (polędwica wołowa, mielona wołowina o różnych procentach tłuszczu, schab wieprzowy, jagnięcina), ryby i owoce morza (łosoś, tuńczyk, krewetki, dorsz, tilapia, sardynki), jaja (całe, białka, jajecznica) oraz białka roślinne (tofu, tempeh, seitan, edamame). Rośliny strączkowe, takie jak soczewica, ciecierzyca i czarna fasola, są uwzględnione tutaj, a nie w zbożach, ponieważ ich główną rolą żywieniową jest dostarczanie białka.

Zboża i skrobia

Około 80 wpisów obejmujących pełnoziarniste zboża (ryż brązowy, owies, quinoa, jęczmień, bulgur), zboża rafinowane (ryż biały, chleb biały, makaron), warzywa skrobiowe (ziemniaki, bataty, kukurydza) oraz popularne produkty zbożowe (tortille, bajgle, krakersy, kuskus). Podano zarówno wartości gotowane, jak i suche dla zbóż, gdzie rozróżnienie ma znaczenie.

Owoce

Około 65 wpisów obejmujących popularne świeże owoce (jabłka, banany, pomarańcze, truskawki, borówki, winogrona), owoce tropikalne (mango, ananas, papaja, kiwi), owoce suszone (rodzynki, daktyle, suszone morele, żurawiny) oraz owoce mrożone. Wszystkie wpisy dotyczące świeżych owoców dotyczą surowej, jadalnej części — nasiona, skórki i pestki są wyłączone z wagi porcji tam, gdzie to możliwe.

Warzywa

Około 85 wpisów obejmujących zielone liściaste (szpinak, jarmuż, sałata rzymska, rukola), warzywa krzyżowe (brokuły, kalafior, brukselka, kapusta), warzywa korzeniowe (marchew, buraki, rzodkiewki), allium (cebula, czosnek), psiankowate (pomidory, papryki, bakłażan) oraz inne popularne warzywa (ogórek, seler, cukinia, grzyby, szparagi). Podano zarówno wartości surowe, jak i gotowane dla warzyw, gdzie gotowanie znacząco zmienia gęstość składników odżywczych na porcję.

Nabiał i alternatywy

Około 70 wpisów obejmujących mleko (pełne, 2%, odtłuszczone i mleka roślinne), jogurt (grecki, zwykły, smakowy, roślinny), sery (cheddar, mozzarella, feta, twaróg, serek kremowy, parmezan), masło, śmietanę oraz popularne alternatywy nabiałowe (mleko migdałowe, mleko owsiane, mleko sojowe, jogurt kokosowy). Mleka i jogurty roślinne są grupowane tutaj, a nie w osobnej kategorii, ponieważ użytkownicy zazwyczaj sięgają po nie jako bezpośrednie zamienniki.

Przekąski i żywność przetworzona

Około 75 wpisów obejmujących orzechy i nasiona (migdały, orzechy włoskie, orzeszki ziemne, nasiona chia, siemię lniane, nasiona słonecznika), masła orzechowe (masło orzechowe, masło migdałowe), popularne przekąski (precle, popcorn, batony granola, batony proteinowe, mieszanki studenckie, chipsy, ciemna czekolada), pasty i przyprawy (hummus, guacamole, salsa, majonez, oliwa z oliwek, miód) oraz inne często śledzone produkty, takie jak białko w proszku i kulki energetyczne.

Napoje

Około 60 wpisów obejmujących soki (sok pomarańczowy, sok jabłkowy, sok żurawinowy), napoje gazowane (cola, lemon-lime soda, ginger ale), napoje sportowe i energetyczne, napoje kawowe (czarna kawa, latte, cappuccino, mocha z różnymi rodzajami mleka), bazy do smoothie, napoje alkoholowe (piwo, wino, mocne alkohole) oraz popularne dodatki (śmietana, cukier, syropy smakowe). Woda nie jest uwzględniona, ponieważ nie zawiera składników odżywczych.

Używanie Danych Programowo

Głównym celem udostępnienia formatów CSV i JSON jest umożliwienie bezpośredniego załadowania tych danych do twojego kodu. Oto działające przykłady w Pythonie i JavaScript.

Python: Ładowanie CSV

import csv

def load_macro_table(filepath):
    foods = []
    with open(filepath, newline='', encoding='utf-8') as f:
        reader = csv.DictReader(f)
        for row in reader:
            # Konwertuj pola numeryczne z ciągów
            for key in ['serving_weight_g', 'calories_kcal', 'protein_g',
                        'total_fat_g', 'saturated_fat_g', 'total_carbs_g',
                        'fiber_g', 'sugar_g', 'sodium_mg']:
                row[key] = float(row[key])
            foods.append(row)
    return foods

foods = load_macro_table('macro_reference_table.csv')

# Znajdź wszystkie produkty w kategorii
proteins = [f for f in foods if f['category'] == 'Białka']
print(f"Znaleziono {len(proteins)} źródeł białka")

# Znajdź produkty o najwyższej zawartości białka na kalorię
foods_sorted = sorted(foods, key=lambda f: f['protein_g'] / max(f['calories_kcal'], 1), reverse=True)
print("\nTop 10 produktów według gęstości białka (g białka na kcal):")
for f in foods_sorted[:10]:
    ratio = f['protein_g'] / f['calories_kcal']
    print(f"  {f['food_name']}: {ratio:.3f} g/kcal ({f['protein_g']}g białka, {f['calories_kcal']} kcal)")

Python: Ładowanie JSON

import json

def load_macro_json(filepath):
    with open(filepath, encoding='utf-8') as f:
        data = json.load(f)
    print(f"Załadowano {data['record_count']} produktów (wersja {data['version']})")
    return data['foods']

foods = load_macro_json('macro_reference_table.json')

# Budowanie słownika wyszukiwania według nazwy produktu
lookup = {f['food_name'].lower(): f for f in foods}

# Szybkie wyszukiwanie
chicken = lookup.get('pierś z kurczaka, bez kości i skóry, gotowana')
if chicken:
    n = chicken['nutrients']
    print(f"Pierś z kurczaka na porcję ({chicken['serving_description']}):")
    print(f"  Kalorie: {n['calories_kcal']} kcal")
    print(f"  Białko: {n['protein_g']}g")
    print(f"  Tłuszcz: {n['total_fat_g']}g")
    print(f"  Węglowodany: {n['total_carbs_g']}g")

JavaScript: Ładowanie JSON

// Node.js
const fs = require('fs');

function loadMacroTable(filepath) {
  const raw = fs.readFileSync(filepath, 'utf-8');
  const data = JSON.parse(raw);
  console.log(`Załadowano ${data.record_count} produktów (wersja ${data.version})`);
  return data.foods;
}

const foods = loadMacroTable('macro_reference_table.json');

// Grupowanie produktów według kategorii
const byCategory = {};
for (const food of foods) {
  if (!byCategory[food.category]) {
    byCategory[food.category] = [];
  }
  byCategory[food.category].push(food);
}

// Podsumowanie
for (const [category, items] of Object.entries(byCategory)) {
  console.log(`${category}: ${items.length} produktów`);
}

// Znajdź niskokaloryczne, wysokobłonnikowe produkty
const highFiber = foods
  .filter(f => f.nutrients.fiber_g >= 5 && f.nutrients.calories_kcal <= 200)
  .sort((a, b) => b.nutrients.fiber_g - a.nutrients.fiber_g);

console.log('\nWysokobłonnikowe, niskokaloryczne produkty:');
highFiber.slice(0, 10).forEach(f => {
  console.log(`  ${f.food_name}: ${f.nutrients.fiber_g}g błonnika, ${f.nutrients.calories_kcal} kcal`);
});

JavaScript: Ładowanie CSV w przeglądarce

// Parsowanie CSV w przeglądarce (bez zależności)
async function loadMacroCSV(url) {
  const response = await fetch(url);
  const text = await response.text();
  const lines = text.split('\n').filter(line => line.trim());
  const headers = parseCSVLine(lines[0]);

  return lines.slice(1).map(line => {
    const values = parseCSVLine(line);
    const obj = {};
    headers.forEach((header, i) => {
      obj[header] = isNaN(values[i]) ? values[i] : parseFloat(values[i]);
    });
    return obj;
  });
}

function parseCSVLine(line) {
  const result = [];
  let current = '';
  let inQuotes = false;
  for (const char of line) {
    if (char === '"') { inQuotes = !inQuotes; }
    else if (char === ',' && !inQuotes) { result.push(current.trim()); current = ''; }
    else { current += char; }
  }
  result.push(current.trim());
  return result;
}

// Użycie
const foods = await loadMacroCSV('/data/macro_reference_table.csv');
console.log(`Załadowano ${foods.length} produktów`);

Te przykłady pokazują najczęstsze operacje: ładowanie danych, wyszukiwanie i filtrowanie, grupowanie według kategorii oraz sortowanie według gęstości składników odżywczych. Struktury danych są celowo proste, aby nie wymagały specjalnych bibliotek do pracy z nimi.

Źródła Danych

Tabele makroskładników są skompilowane z następujących źródeł pierwotnych:

Baza danych USDA SR Legacy. Baza danych USDA Standard Reference Legacy jest podstawowym zestawem danych dotyczących składu żywności w USA. Zawiera dane o składnikach odżywczych dla ponad 7600 produktów. Nasze tabele wykorzystują SR Legacy jako główne źródło dla produktów ogólnych/nieznakowanych. Wybraliśmy SR Legacy zamiast nowszego FoodData Central FNDDS, ponieważ wartości SR Legacy są szeroko weryfikowane i cytowane w badaniach żywieniowych.

USDA FoodData Central. Dla produktów, które nie są objęte SR Legacy, szczególnie nowszych produktów i zaktualizowanych wartości, odwołujemy się do zestawów danych Foundation Foods i Survey Foods FoodData Central.

Międzynarodowe bazy danych dotyczące składu żywności. Dla produktów spożywanych na całym świecie, które mogą nie występować w amerykańskich bazach danych, porównujemy dane z tabel składu McCance i Widdowson Public Health England, bazy danych NUTTAB Food Standards Australia New Zealand (FSANZ), Kanadyjskiej Bazy Danych Składników Odżywczych (CNF) oraz Duńskiej Bazy Danych Składu Żywności (Frida). Jest to szczególnie istotne dla owoców tropikalnych, regionalnych zbóż i metod przygotowania typowych poza USA.

Dane producentów. Dla przetworzonych i markowych produktów w kategoriach przekąsek i napojów odwołujemy się do etykiet żywieniowych dostarczanych przez producentów. Gdy dane producentów są sprzeczne z analizą laboratoryjną, zauważamy rozbieżność i domyślnie przyjmujemy wartości laboratoryjne.

Wszystkie wartości zostały zweryfikowane w oparciu o co najmniej dwa niezależne źródła. Gdy źródła różnią się o więcej niż 10%, badaliśmy przyczynę (zwykle różne metody przygotowania lub różnice w odmianach) i wybraliśmy wartość najbardziej reprezentatywną dla typowego spożycia danego produktu.

Zestaw danych jest wersjonowany. Obecna wersja to 1.4.0, ostatnia aktualizacja w marcu 2026 roku. Aktualizujemy tabele mniej więcej co kwartał, aby uwzględnić poprawki, dodać żądane produkty i odzwierciedlić wszelkie istotne zmiany w bazach danych źródłowych.

Jak Zgłaszać Poprawki

Dane żywieniowe są z natury niedoskonałe. Skład żywności różni się w zależności od regionu, sezonu, odmiany i metody przygotowania. Jeśli znajdziesz błąd lub masz poprawkę popartą wiarygodnym źródłem, chcemy o tym wiedzieć.

Istnieją trzy sposoby zgłaszania poprawek:

Problemy na GitHubie. Tabele makroskładników są hostowane w publicznym repozytorium GitHub. Otwórz zgłoszenie z nazwą produktu, polem, które uważasz za niepoprawne, aktualną wartością, wartością, którą uważasz za poprawną, oraz linkiem do źródła. Przeglądamy zgłoszenia co tydzień.

E-mail. Wyślij poprawki na adres data@nutrola.com z tymi samymi informacjami: nazwa produktu, pole, aktualna wartość, proponowana wartość i źródło. Odpowiemy w ciągu pięciu dni roboczych.

Prośby o włączenie zmian. Jeśli czujesz się komfortowo z Gitem, możesz sklonować repozytorium, edytować plik CSV lub JSON bezpośrednio i złożyć prośbę o włączenie zmian. Dołącz swoje źródło w opisie PR. Przejrzymy i połączymy poprawki, które są poparte wiarygodnymi danymi.

Nie akceptujemy zgłoszeń dotyczących produktów markowych lub zastrzeżonych przez ten proces. Te są obsługiwane przez główny proces bazy danych żywności Nutrola, który ma własny proces weryfikacji.

Integracja z API Nutrola dla Danych w Czasie Rzeczywistym

Dostępne do pobrania tabele makroskładników to statyczny zrzut — doskonały do użytku offline, osadzonych aplikacji, materiałów edukacyjnych i szybkich wyszukiwań. Ale jeśli potrzebujesz danych żywieniowych w czasie rzeczywistym na dużą skalę, API Nutrola Nutrition Data zapewnia wszystko, co znajduje się w tych tabelach i znacznie więcej.

API obejmuje ponad 3 miliony wpisów żywności (w porównaniu do 500+ w tabelach referencyjnych), zawiera pełne profile mikroskładników z ponad 70 składnikami na produkt, obsługuje skanowanie kodów kreskowych, wyszukiwanie tekstowe i autouzupełnianie oraz dostarcza dane dla produktów markowych z 47 krajów. To te same dane, które zasilają aplikację Nutrola, z której korzysta codziennie ponad 2 miliony osób.

Dla programistów: API jest RESTful, zwraca JSON i oferuje darmowy poziom z 500 zapytaniami dziennie — wystarczająco dla prototypowania i projektów osobistych. Płatne poziomy skalują się do milionów zapytań. Pełną dokumentację znajdziesz na stronie api.nutrola.com/docs.

Dla badaczy i instytucji: oferujemy licencje akademickie z podwyższonymi limitami i możliwościami eksportu zbiorczego. Skontaktuj się z research@nutrola.com po szczegóły.

Tabele makroskładników i API uzupełniają się nawzajem. Używaj tabel do pracy offline, osadzonych zestawów danych i sytuacji, w których potrzebujesz samodzielnego pliku. Używaj API, gdy potrzebujesz szerokiego zakresu, głębi, aktualizacji w czasie rzeczywistym i funkcji wyszukiwania.

Najczęściej Zadawane Pytania

Jak często aktualizowane są tabele makroskładników?

Aktualizujemy tabele mniej więcej co kwartał. Każde wydanie otrzymuje nowy numer wersji (obecna wersja to 1.4.0). Aktualizacje obejmują poprawki zgłoszone przez użytkowników, dodanie często żądanych produktów oraz dostosowania, gdy nasze bazy danych źródłowe publikują zrewidowane wartości. Plik JSON zawiera wersję i datę generacji w swoich metadanych, więc możesz programowo sprawdzić, czy masz najnowszą wersję.

Czy mogę używać tych danych w mojej komercyjnej aplikacji?

Tak. Tabele makroskładników są wydawane na licencji Creative Commons Attribution 4.0 (CC BY 4.0). Możesz używać, modyfikować i rozpowszechniać dane zarówno w projektach osobistych, jak i komercyjnych, pod warunkiem, że podasz odpowiednie uznanie. Link do nutrola.com lub wzmianka o "Tabelach Makroskładników Nutrola" w twoich kredytach danych jest wystarczająca. Nie musisz prosić o pozwolenie ani płacić opłaty.

Dlaczego tylko 500+ produktów, a nie pełna baza danych Nutrola?

Tabele referencyjne są zaprojektowane jako praktyczny, wysokiej jakości podzbiór najczęściej spożywanych produktów. Obejmuje 500+ pozycji w siedmiu kategoriach, co pokrywa około 90% tego, co ludzie jedzą na co dzień w większości krajów. Rozszerzenie do 3 milionów wpisów uczyniłoby pliki nieporęcznymi dla wielu zastosowań (pełna baza danych przekracza 2 GB). Jeśli potrzebujesz pełnego zestawu danych, API Nutrola zapewnia dostęp do wszystkiego.

Czy wartości są podawane na porcję czy na 100 gramów?

Na porcję. Każdy wpis zawiera opis porcji (np. "1 średnie jabłko (182g)") oraz odpowiadającą wagę w gramach, więc łatwo możesz przeliczyć wartości na 100 g, dzieląc każdą wartość składnika odżywczego przez wagę porcji i mnożąc przez 100. Wybraliśmy wartości na porcję, ponieważ są one bardziej użyteczne do śledzenia posiłków, planowania posiłków i aplikacji skierowanych do klientów.

Jak przeliczyć dane na wartości na 100 g?

Pomnóż każdą wartość składnika odżywczego przez 100 i podziel przez pole serving_weight_g. Na przykład, jeśli porcja piersi z kurczaka o wadze 170 g zawiera 53,4 g białka, wartość białka na 100 g wynosi (53,4 * 100) / 170 = 31,4 g. Oto szybka funkcja w Pythonie:

def per_100g(food, nutrient_field):
    """Przelicz wartość składnika odżywczego na porcję na wartość na 100 g."""
    serving_weight = food['serving_weight_g']
    if serving_weight == 0:
        return 0
    return round(food[nutrient_field] * 100 / serving_weight, 1)

Co powinienem zrobić, jeśli produktu, którego potrzebuję, nie ma w tabeli?

Najpierw sprawdź, czy podobny produkt istnieje pod inną nazwą — użyj funkcji wyszukiwania swojego edytora tekstu lub prostego skryptu, aby przeszukać pole food_name. Jeśli produktu rzeczywiście nie ma, masz dwie opcje: zgłoś prośbę przez nasze repozytorium GitHub (priorytetowo traktujemy dodatki na podstawie popytu) lub użyj API Nutrola, które obejmuje ponad 3 miliony produktów i jest znacznie bardziej prawdopodobne, że ma to, czego potrzebujesz. W przypadku jednorazowych wyszukiwań sama aplikacja Nutrola pozwala na przeszukiwanie pełnej bazy danych za darmo.

Gotowy, aby przeksztalcic sledzenie zywienia?

Dolacz do tysiecy osob, ktore przeksztalcily swoja podroz zdrowotna z Nutrola!