Ilmaiset makroviite-taulukot: Lataa täydelliset ravintotiedot CSV- ja JSON-muodossa
Lataa ilmaiset makroviite-taulukot, joissa on täydelliset ravintotiedot yli 500 yleisestä ruoasta CSV- ja JSON-muodossa. Mukana proteiini, hiilihydraatit, rasva, kuitu ja kalorit, järjestetty ruokakategorioittain.
Olitpa rakentamassa ravitsemussovellusta, toteuttamassa tutkimustutkimusta, valmentamassa asiakkaita tai haluamassa vain luotettavaa viite-taulukkoa työpöydällesi, tarvitset puhdasta makrotietoa muodossa, jota voit oikeasti käyttää. Vaikka hallituksen tietokantoja on olemassa, ne ovat laajoja, epäjohdonmukaisia ja suunniteltu byrokraateille, ei rakentajille.
Olemme koonneet joukon ilmaisia makroviite-taulukoita, jotka kattavat yli 500 yleistä ruokaa täydellisine makroravinteiden erittelyineen. Tiedot ovat saatavilla sekä CSV- että JSON-muodoissa, valmiina käytettäväksi taulukkolaskennassa, tietokannassa, skriptissä tai sovelluksessa. Jokainen merkintä on vahvistettu ensisijaisista lähteistä, ja tiedostot on rakennettu siten, että voit aloittaa niiden käytön heti ilman puhdistusta tai muunnoksia.
Tällä sivulla käsitellään tarkasti, mitä taulukoissa on, miten tiedot on rakennettu, miten ne ladataan ohjelmallisesti ja miten voit osallistua korjauksiin, jos löydät jotain, joka tarvitsee päivitystä.
Mitä on mukana
Makroviite-taulukot sisältävät yli 500 yleisimmin kulutettua ruokaa seitsemässä pääkategoriassa. Jokaiselle ruoka-aineelle saat:
- Ruoan nimi — ravitsemustieteessä käytettävä standardi englanninkielinen nimi
- Kategoria — yksi seitsemästä pääkategoriasta (lisätietoa alla)
- Alakategoria — tarkempi ryhmittely pääkategorian sisällä
- Annoskuvaus — ihmisten luettavissa oleva annoskoko (esim. "1 keskikokoinen banaani", "1 kuppi kypsennettyä")
- Annospaino grammoina — kyseisen annoksen grammoina
- Kalorit — kokonaisenergia kilokaloreina (kcal)
- Proteiini — grammoina proteiinia per annos
- Kokonaisrasva — grammoina kokonaisrasvaa per annos
- Tyydyttynyt rasva — grammoina tyydyttynyttä rasvaa per annos
- Kokonaishiilihydraatit — grammoina kokonaishiilihydraatteja per annos
- Ravintokuitu — grammoina ravintokuitua per annos
- Sokeri — grammoina kokonaisrasvoja per annos
- Natrium — milligrammoina natriumia per annos
Jokainen arvo ilmoitetaan listatun annoskoon mukaan, ei per 100 grammaa. Valitsimme tämän lähestymistavan, koska annokseen perustuvat tiedot ovat niitä, joita useimmat ihmiset todella tarvitsevat aterioiden seuraamisessa, ateriasuunnitelmien laatimisessa tai ravintotietojen esittämisessä käyttöliittymässä. Jos tarvitset per-100g arvoja, jakaminen annospainolla ja kertominen sadalla on yksinkertaista.
Taulukot eivät sisällä mikroravinteita natriumin ja kuidun lisäksi. Täydelliset mikroravinteiden profiilit (vitamiinit, mineraalit, aminohapot) löytyvät Nutrolan API:sta tämän artikkelin lopussa — siellä sijaitsee yksityiskohtaiset tiedot.
Tietomuotojen erittely
CSV-muoto
CSV-tiedosto käyttää UTF-8-koodausta ja siinä on otsikkorivi. Kentät on erotettu pilkuilla ja tekstikentät on lainausmerkitty. Tässä on, miltä rakenne näyttää:
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
"Chicken Breast, boneless skinless, cooked","Proteins","Poultry","1 breast (170g)",170,284,53.4,6.2,1.7,0.0,0.0,0.0,126
"Atlantic Salmon, cooked","Proteins","Fish & Seafood","1 fillet (154g)",154,280,39.3,12.4,2.5,0.0,0.0,0.0,109
"Brown Rice, cooked","Grains & Starches","Whole Grains","1 cup (195g)",195,216,5.0,1.8,0.4,44.8,3.5,0.7,10
"Banana, raw","Fruits","Tropical Fruits","1 medium (118g)",118,105,1.3,0.4,0.1,27.0,3.1,14.4,1
CSV-tiedosto on yhteensopiva Microsoft Excelin, Google Sheetsin, LibreOffice Calcin, Apple Numbersin ja minkä tahansa ohjelmointikielen kanssa, joka tukee CSV-tiedostojen käsittelyä. Erityistä konfigurointia ei tarvita — avaa tiedosto, niin se käsitellään oikein.
JSON-muoto
JSON-tiedosto sisältää taulukon objekteista, yksi jokaiselle ruoka-aineelle. Rakenne vastaa CSV-kenttiä:
{
"version": "1.4.0",
"generated": "2026-03-12",
"source": "Nutrola Macro Reference Tables",
"record_count": 527,
"foods": [
{
"food_name": "Chicken Breast, boneless skinless, cooked",
"category": "Proteins",
"subcategory": "Poultry",
"serving_description": "1 breast (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
}
}
]
}
JSON-tiedosto sisältää metatietokenttiä ylimmällä tasolla: version merkkijono päivitysten seuraamista varten, luontipäivämäärä, lähteen nimi ja kokonaisrekisteröintimäärä. Tämä helpottaa sen varmistamista, että sinulla on uusin versio ja mahdollistaa päivitysten tarkistamisen logiikan rakentamisen sovelluksiisi.
Numeriset arvot tallennetaan numeroina, ei merkkijonoina. Null-arvoja ei esiinny — jos ravintoaineen arvo on tuntematon, ruoka poistetaan tietojoukosta sen sijaan, että se sisällytettäisiin puuttuvilla tiedoilla. Tämä oli tietoinen valinta, jotta tiedot pysyvät puhtaina ja vältetään hiljaiset virheet laskelmissa.
Kenttäkuvaukset
Tässä on yksityiskohtainen erittely jokaisesta kentästä, mukaan lukien yksiköt, odotetut arvot ja äärimmäiset tapaukset:
| Kenttä | Tyyppi | Yksikkö | Kuvaus |
|---|---|---|---|
| food_name | merkkijono | — | Standardi englanninkielinen nimi. Sisältää valmistustavan, jos se on relevanttia (esim. "kypsennetty", "raaka", "kuivattu"). |
| category | merkkijono | — | Yksi seitsemästä pääkategoriasta. Katso alla olevat kategoriat. |
| subcategory | merkkijono | — | Tarkempi ryhmittely. Esimerkiksi "Proteiinit"-kategoriassa löydät "Linnut", "Punainen liha", "Kala ja äyriäiset", "Palkokasvit" ja "Munan". |
| serving_description | merkkijono | — | Ihmisten luettavissa oleva annoskoko. Sisältää aina grammapainon sulkujen sisällä. |
| serving_weight_g | numero | grammoina | Annoksen numeerinen grammapaino. Kokoarvot useimmille tuotteille, yksi desimaali tarkkuutta tuotteille, joissa tarkkuus on tärkeää. |
| calories_kcal | numero | kcal | Kokonaisenergia. Lasketaan Atwater-järjestelmän mukaan (4 kcal/g proteiinia, 4 kcal/g hiilihydraatteja, 9 kcal/g rasvaa). |
| protein_g | numero | grammoina | Kokonaisproteiini. Yksi desimaali tarkkuutta. |
| total_fat_g | numero | grammoina | Kokonaisrasva, mukaan lukien tyydyttynyt, monityydyttymätön ja kertatyydyttymätön. |
| saturated_fat_g | numero | grammoina | Vain tyydyttyneet rasvahapot. |
| total_carbs_g | numero | grammoina | Kokonaishiilihydraatit, mukaan lukien kuitu ja sokerit. |
| fiber_g | numero | grammoina | Kokonaisravintokuitu (liukeneva + liukenematon). |
| sugar_g | numero | grammoina | Kokonais sokerit (luontaisesti esiintyvät + lisätyt). Aineistossa ei erotella lisättyjä sokereita luonnollisista sokereista. |
| sodium_mg | numero | milligrammoina | Natriumpitoisuus. Huomaa, että tämä on milligrammoina, ei grammoina, toisin kuin muut ravintoainekentät. |
Muutama huomautus tarkkuudesta: kaikki ravintoainearvot on pyöristetty yhteen desimaaliin. Tämä vastaa lähdetietojen tarkkuustasoa. Useamman desimaalin ilmoittaminen antaisi väärän tason tarkkuudesta — ruoan koostumus vaihtelee luonnollisesti 5-15% riippuen kasvatusolosuhteista, eläinrodusta ja valmistusmenetelmistä.
Ruokakategoriat
Yli 500 ruokaa on järjestetty seitsemään pääkategoriaan, joista jokaisella on useita alakategorioita:
Proteiinit
Noin 95 merkintää, jotka kattavat linnut (kanafilee, reisi, kalkkuna, jauhettu kalkkuna), punainen liha (naudan sisäfilee, jauhettu naudanliha eri rasvaprosenteilla, sianliha, lammas), kala ja äyriäiset (lohi, tonnikala, katkaravut, turska, tilapia, sardinit), munat (kokonaiset, valkuaiset, munakokkeli) ja kasvipohjaiset proteiinit (tofu, tempeh, seitan, edamame). Palkokasvit, kuten linssit, kikherneet ja mustapavut, sisältyvät tänne, koska niiden ensisijainen ravitsemuksellinen rooli on proteiinin tarjoaminen.
Viljat ja tärkkelykset
Noin 80 merkintää, jotka kattavat täysjyvät (ruskea riisi, kaura, kvinoa, ohra, bulgur), jalostetut viljat (valkoinen riisi, valkoinen leipä, pasta), tärkkelyspitoiset vihannekset (perunat, bataatit, maissi) ja yleiset viljatuotteet (tortillat, bagelit, keksit, kuskus). Sekä kypsennetyt että kuivat arvot on annettu viljoille, joissa ero on merkittävä.
Hedelmät
Noin 65 merkintää, jotka kattavat yleiset tuoreet hedelmät (omenat, banaanit, appelsiinit, mansikat, mustikat, viinirypäleet), trooppiset hedelmät (mangot, ananakset, papaijat, kiivit), kuivatut hedelmät (rusinat, päivämäärät, kuivatut aprikoosit, karpalot) ja pakastetut hedelmät. Kaikki tuoreiden hedelmien merkinnät ovat raakojen, syötävien osien osalta — siemenet, kuoret ja kivet on suljettu pois annospainosta, kun se on sovellettavissa.
Vihannekset
Noin 85 merkintää, jotka kattavat lehtivihannekset (pinaatti, lehtikaali, roomansalaatti, rucola), ristikkäiset vihannekset (parsakaali, kukkakaali, ruusukaali, kaali), juurivihannekset (porkkanat, punajuuret, nauriit, retiisit), alliumit (sipulit, valkosipuli), yöshadeperhe (tomaatit, paprikat, munakoisot) ja muut yleiset vihannekset (kurkku, selleri, kesäkurpitsa, sienet, parsa). Sekä raakoja että kypsennettyjä arvoja on annettu vihanneksille, joissa kypsentäminen vaikuttaa merkittävästi ravintotiheyteen annosta kohti.
Maitotuotteet ja vaihtoehdot
Noin 70 merkintää, jotka kattavat maidon (täysmaito, 2%, kevytmaito ja kasvipohjaiset maidot), jogurtin (kreikkalainen, tavallinen, maustettu, kasvipohjainen), juuston (cheddar, mozzarella, feta, raejuusto, tuorejuusto, parmesan), voin, kerman ja yleiset maitotuotteiden vaihtoehdot (mantelimaito, kauramaito, soijamaidot, kookosjogurtti). Kasvipohjaiset maidot ja jogurtit on ryhmitelty tänne, eikä erilliseen kategoriaan, koska käyttäjät yleensä valitsevat ne suoraan korvikkeina.
Välipalat ja prosessoidut ruoat
Noin 75 merkintää, jotka kattavat pähkinät ja siemenet (mantelit, saksanpähkinät, maapähkinät, chiasiemenet, pellavansiemenet, auringonkukansiemenet), pähkinävoita (maapähkinävoi, mantelivoi), yleiset välipalat (suolakeksit, popcorn, granolapatukat, proteiinipatukat, retkipatukat, sipulit, tumma suklaa), levitteet ja mausteet (hummus, guacamole, salsa, majoneesi, oliiviöljy, hunaja) sekä muut yleisesti seurattavat tuotteet, kuten proteiinijauhe ja energiapalat.
Juomat
Noin 60 merkintää, jotka kattavat mehut (appelsiinimehu, omenamehu, karpalomehu), virvoitusjuomat (kolajuoma, sitruuna-lime-limonadi, inkivääriolut), urheilu- ja energiajuomat, kahvijuomat (mustakahvi, latte, cappuccino, mocha eri maitotyypeillä), smoothie-pohjat, alkoholijuomat (olut, viini, väkevät alkoholijuomat) ja yleiset lisäykset (kerma, sokeri, maustetut siirapit). Vettä ei sisällytetä, koska sillä ei ole makroravinteita.
Tietojen käyttäminen ohjelmallisesti
CSV- ja JSON-muotojen tarjoamisen koko tarkoitus on, että voit ladata nämä tiedot suoraan koodiisi. Tässä on toimivia esimerkkejä Pythonissa ja JavaScriptissä.
Python: CSV:n lataaminen
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:
# Muuta numeeriset kentät merkkijonoista
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')
# Etsi kaikki ruoat kategoriasta
proteins = [f for f in foods if f['category'] == 'Proteins']
print(f"Löydettiin {len(proteins)} proteiinilähdettä")
# Etsi korkeimmat proteiinipitoiset ruoat kaloria kohti
foods_sorted = sorted(foods, key=lambda f: f['protein_g'] / max(f['calories_kcal'], 1), reverse=True)
print("\nTop 10 ruokaa proteiinipitoisuuden mukaan (g proteiinia per 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 proteiinia, {f['calories_kcal']} kcal)")
Python: JSON:n lataaminen
import json
def load_macro_json(filepath):
with open(filepath, encoding='utf-8') as f:
data = json.load(f)
print(f"Ladattu {data['record_count']} ruokaa (versio {data['version']})")
return data['foods']
foods = load_macro_json('macro_reference_table.json')
# Rakenna hakusanakirja ruoan nimen mukaan
lookup = {f['food_name'].lower(): f for f in foods}
# Nopea haku
chicken = lookup.get('chicken breast, boneless skinless, cooked')
if chicken:
n = chicken['nutrients']
print(f"Kanafilee per annos ({chicken['serving_description']}):")
print(f" Kalorit: {n['calories_kcal']} kcal")
print(f" Proteiini: {n['protein_g']}g")
print(f" Rasva: {n['total_fat_g']}g")
print(f" Hiilihydraatit: {n['total_carbs_g']}g")
JavaScript: JSON:n lataaminen
// Node.js
const fs = require('fs');
function loadMacroTable(filepath) {
const raw = fs.readFileSync(filepath, 'utf-8');
const data = JSON.parse(raw);
console.log(`Ladattu ${data.record_count} ruokaa (versio ${data.version})`);
return data.foods;
}
const foods = loadMacroTable('macro_reference_table.json');
// Ryhmittele ruoat kategorian mukaan
const byCategory = {};
for (const food of foods) {
if (!byCategory[food.category]) {
byCategory[food.category] = [];
}
byCategory[food.category].push(food);
}
// Tulosta yhteenveto
for (const [category, items] of Object.entries(byCategory)) {
console.log(`${category}: ${items.length} ruokaa`);
}
// Etsi vähäkalorisia, korkeakuituisia ruokia
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('\nKorkeakuituiset, vähäkaloriset ruoat:');
highFiber.slice(0, 10).forEach(f => {
console.log(` ${f.food_name}: ${f.nutrients.fiber_g}g kuitua, ${f.nutrients.calories_kcal} kcal`);
});
JavaScript: CSV:n lataaminen selaimessa
// Selaimessa käytettävä CSV-parsing (ilman riippuvuuksia)
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;
}
// Käyttö
const foods = await loadMacroCSV('/data/macro_reference_table.csv');
console.log(`Ladattu ${foods.length} ruokaa`);
Nämä esimerkit osoittavat yleisimmät toiminnot: tietojen lataaminen, hakeminen ja suodattaminen, ryhmittely kategorian mukaan ja ravintotiheyden mukaan lajittelu. Tietorakenteet on tarkoituksellisesti pidetty yksinkertaisina, jotta et tarvitse erityisiä kirjastoja työskennelläksesi niiden kanssa.
Tietolähteet
Makroviite-taulukot on koottu seuraavista ensisijaisista lähteistä:
USDA SR Legacy -tietokanta. USDA:n Standard Reference Legacy -tietokanta on perustietojoukko Yhdysvaltojen ruokakoostumuksesta. Se sisältää laboratoriossa analysoituja ravintotietoja yli 7 600 ruoasta. Taulukoissamme käytetään SR Legacyä ensisijaisena lähteenä yleisille/ilman brändiä oleville ruoille. Valitsimme SR Legacyn uudemman FoodData Central FNDDS:n sijaan, koska SR Legacy -arvot ovat laajemmin validoituja ja viitattuja ravitsemustutkimuksessa.
USDA FoodData Central. Ruokien osalta, joita ei ole katettu SR Legacyssä, erityisesti uusien ruokien ja päivitettyjen arvojen osalta, viittaamme FoodData Centralin Foundation Foods- ja Survey Foods -tietojoukkoihin.
Kansainväliset ruokakoostumustietokannat. Ruokien osalta, joita kulutetaan maailmanlaajuisesti mutta jotka eivät välttämättä esiinny Yhdysvaltojen tietokannoissa, ristiinviittaamme tietoja Public Health Englandin McCance and Widdowsonin koostumustauluista, Food Standards Australia New Zealandin (FSANZ) NUTTABista, Kanadan ravintotietokannasta (CNF) ja Tanskan ruokakoostumustietokannasta (Frida). Tämä on erityisen tärkeää trooppisten hedelmien, alueellisten viljojen ja valmistusmenetelmien osalta, jotka ovat yleisiä Yhdysvaltojen ulkopuolella.
Valmistajatiedot. Prosessoitujen ja brändättyjen tuotteiden osalta välipala- ja juomakategorioissa viittaamme valmistajien tarjoamiin ravintotietopaneeleihin. Jos valmistajatiedot ovat ristiriidassa laboratoriotutkimusten kanssa, merkitsemme ristiriidan ja käytämme laboratoriotietoja.
Kaikki arvot on ristiinviitattu vähintään kahden itsenäisen lähteen kanssa. Jos lähteet eroavat yli 10%, tutkimme syyn (yleensä erilaiset valmistusmenetelmät tai lajikkeiden erot) ja valitsimme arvon, joka on edustavin tapa, jolla ruokaa yleensä kulutetaan.
Aineisto on versionhallinnassa. Nykyinen versio on 1.4.0, viimeksi päivitetty maaliskuussa 2026. Päivitämme taulukot noin neljännesvuosittain ottaaksemme huomioon korjaukset, lisätäksemme pyydettyjä ruokia ja heijastaaksemme merkittäviä muutoksia lähdetietokannoissa.
Miten voit osallistua korjauksiin
Ravitsemustiedot ovat luontaisesti epätäydellisiä. Ruokakoostumus vaihtelee alueittain, vuodenaikojen mukaan, lajikkeen mukaan ja valmistusmenetelmien mukaan. Jos löydät virheen tai sinulla on korjaus, joka perustuu luotettavaan lähteeseen, haluamme kuulla siitä.
On kolme tapaa lähettää korjauksia:
GitHub-ongelmat. Makroviite-taulukot on isännöity julkisessa GitHub-repositoriossa. Avaa ongelma ruoan nimellä, kentällä, jonka uskot olevan virheellinen, nykyisellä arvolla, arvolla, jonka uskot olevan oikea, ja linkillä lähteeseesi. Tarkistamme ongelmat viikoittain.
Sähköposti. Lähetä korjauksia osoitteeseen data@nutrola.com samalla tiedolla: ruoan nimi, kenttä, nykyinen arvo, ehdotettu arvo ja lähde. Vastaamme viiden työpäivän kuluessa.
Pull requests. Jos olet mukava Gitin kanssa, voit forkata repositorion, muokata CSV- tai JSON-tiedostoa suoraan ja lähettää pull requestin. Liitä lähteesi PR-kuvaukseen. Tarkistamme ja yhdistämme korjaukset, jotka perustuvat luotettaviin tietoihin.
Emme hyväksy brändättyjen tai omistettujen tuotteiden lähetyksiä tämän prosessin kautta. Ne käsitellään Nutrolan pääruokadataputkessa, jolla on oma vahvistusprosessinsa.
Integraatio Nutrolan API:n kanssa reaaliaikaisia tietoja varten
Ladattavat makroviite-taulukot ovat staattinen snapshot — loistava offline-käyttöön, upotettaviin sovelluksiin, koulutusmateriaaleihin ja nopeisiin hakuun. Mutta jos tarvitset reaaliaikaisia ravintotietoja suuressa mittakaavassa, Nutrolan Nutrition Data API tarjoaa kaiken tämän taulukossa ja paljon enemmän.
API kattaa yli 3 miljoonaa ruokamerkintää (verrattuna yli 500 viite-taulukossa), sisältää täydelliset mikroravinteiden profiilit yli 70 ravintoaineelle per tuote, tukee viivakoodin skannausta, tekstihakuja ja automaattista täyttöä, ja palvelee tietoja brändätyistä tuotteista 47 maasta. Se on sama data, joka pyörittää Nutrola-sovellusta, jota yli 2 miljoonaa ihmistä käyttää päivittäin.
Kehittäjille: API on RESTful, palauttaa JSON-muodossa ja tarjoaa ilmaisen tason, jossa on 500 pyyntöä päivässä — riittävästi prototyyppien ja henkilökohtaisten projektien käyttöön. Maksulliset tasot skaalautuvat miljooniin pyyntöihin. Löydät täydelliset asiakirjat osoitteesta api.nutrola.com/docs.
Tutkijoille ja instituutioille: tarjoamme akateemisia lisenssejä, joissa on nostettuja rajoja ja suuria vientimahdollisuuksia. Ota yhteyttä research@nutrola.com saadaksesi lisätietoja.
Makroviite-taulukot ja API täydentävät toisiaan. Käytä taulukoita offline-työhön, upotettaviin tietojoukkoihin ja tilanteisiin, joissa tarvitset itse sisältävän tiedoston. Käytä API:a, kun tarvitset laajuutta, syvyyttä, reaaliaikaisia päivityksiä ja hakutoimintoja.
Usein kysytyt kysymykset
Kuinka usein makroviite-taulukot päivitetään?
Päivitä taulukot noin neljännesvuosittain. Jokaiselle julkaisulle annetaan uusi versio numero (nykyinen versio on 1.4.0). Päivitykset sisältävät käyttäjien lähettämiä korjauksia, yleisesti pyydettyjen ruokien lisäämistä ja säätöjä, kun lähdetietokannat julkaisevat tarkistettuja arvoja. JSON-tiedosto sisältää version ja luontipäivämäärän metatiedoissaan, joten voit ohjelmallisesti tarkistaa, onko sinulla uusin versio.
Voinko käyttää näitä tietoja kaupallisessa sovelluksessani?
Kyllä. Makroviite-taulukot on julkaistu Creative Commons Attribution 4.0 (CC BY 4.0) -lisenssillä. Voit käyttää, muokata ja jakaa tietoja sekä henkilökohtaisissa että kaupallisissa projekteissa, kunhan annat asianmukaisen maininnan. Linkki nutrola.com-sivustolle tai maininta "Nutrola Macro Reference Tables" tietojesi krediiteissä riittää. Sinun ei tarvitse pyytää lupaa tai maksaa maksua.
Miksi vain yli 500 ruokaa eikä koko Nutrola-tietokantaa?
Viite-taulukot on suunniteltu käytännölliseksi, korkealaatuiseksi alajoukoksi yleisimmin kulutetuista ruoista. Yli 500 tuotteen kattaminen seitsemässä kategoriassa kattaa noin 90% siitä, mitä ihmiset syövät päivittäin useimmissa maissa. Laajentaminen 3 miljoonaan merkintään tekisi tiedostoista monimutkaisempia monille käyttötarkoituksille (koko tietokanta ylittää 2 GB). Jos tarvitset koko aineiston, Nutrolan API tarjoaa pääsyn kaikkeen.
Ovatko arvot per annos vai per 100 grammaa?
Per annos. Jokainen merkintä sisältää annoskuvauksen (esim. "1 keskikokoinen omena (182g)") ja vastaavan grammapainon, joten voit helposti muuntaa per-100g arvoiksi jakamalla jokaisen ravintoaineen arvon annospainolla ja kertomalla sadalla. Valitsimme annokseen perustuvat arvot, koska ne ovat käyttökelpoisempia aterioiden seuraamisessa, ateriasuunnittelussa ja asiakassovelluksissa.
Kuinka muunnan tiedot per-100g arvoiksi?
Kerro jokainen ravintoainearvo sadalla ja jaa serving_weight_g-kentällä. Esimerkiksi, jos kanafileen annos on 170g ja siinä on 53.4g proteiinia, per-100g proteiiniarvo on (53.4 * 100) / 170 = 31.4g. Tässä on nopea Python-funktio:
def per_100g(food, nutrient_field):
"""Muunna per-annos ravintoainearvo per-100g."""
serving_weight = food['serving_weight_g']
if serving_weight == 0:
return 0
return round(food[nutrient_field] * 100 / serving_weight, 1)
Mitä teen, jos ruokaa, jota tarvitsen, ei ole taulukossa?
Tarkista ensin, onko samanlainen ruoka olemassa eri nimellä — käytä tekstieditorin hakutoimintoa tai yksinkertaista skriptiä etsiäksesi food_name-kentästä. Jos ruokaa ei todella ole mukana, sinulla on kaksi vaihtoehtoa: lähetä pyyntö GitHub-repositorioomme (priorisoimme lisäyksiä kysynnän mukaan) tai käytä Nutrolan API:a, joka kattaa yli 3 miljoonaa ruokaa ja on todennäköisesti enemmän mitä tarvitset. Yksittäisiä hakuja varten Nutrola-sovellus itsessään antaa sinun etsiä koko tietokannasta ilmaiseksi.
Valmis muuttamaan ravitsemusseurantaasi?
Liity tuhansien joukkoon, jotka ovat muuttaneet terveysmatkansa Nutrola avulla!