-
Notifications
You must be signed in to change notification settings - Fork 0
Data cleaning
De data die gefilterd is uit de API dient eerst schoon gemaakt te worden voordat het echt gebruikt kan worden. Bijvoorbeeld door overbodige interpunctie, spelfouten of en onregelmatige gebruik van hoofdletters.
De data die ik heb opgehaald is van zichzelf al best wel bruikbaar, omdat de data al schoon de API in komt. Toch zijn er een aantal data die wel schoongemaakt dienen te worden.
De clubs die ik ophaal en in de array standingsPL
zet, hebben allemaal 'FC' achter hun naam staan. Dit wilde ik uit de naam hebben voordat het op mijn website getoont wordt.
Dit heb ik gedaan om de array, door middel van mijn module cleanClubs
, schoon in een nieuwe array te stoppen.
.then(() => cleanedStandings = cleanClubs(standingsPL))
In de module wordt de data door de volgende functie gehaald:
module.exports = data => data.map(item => item.replace('FC', '').trim()) // removing FC from clubname and removing whitespace
Hierin wordt elk item in de standingsPL
array schoon in een nieuwe array gestopt, genaamd cleanStandings
. Door middel van
item.replace('FC', '')
wordt FC verwijderd uit de clubnaam en vervangen door een lege string. Door middel van trim()
worden de lege spaties aan het begin en eind van de naam weggehaald.
De datums die ik gebruik voor de wedstrijden worden op een onleesbare manier uit de API gehaald: 2021-10-30T11:30:00Z
.
Deze datums moeten worden omgezet naar leesbare datums. Dit doe ik door de cleanDate
module. In deze module worden de datums omgezet naar de Nederlandse standaard.
.then(() => cleanedMatchDate = cleanDate(matchDate))
const moment = require('moment')
module.exports = data => data.map(item => moment(item).format('DD-MM-YYYY'))
Ik gebruik hiervoor de package moment
. Hiermee kan ik de datums omzetten naar het gewenste formaat. In dit geval
DD-MM-YYYY
.
Vervolgens worden de geformatteerde datums in een nieuwe array gezet, genaamd cleanedMatchDate
.
Tom van den Berg | 500827055 | Functional-programming