Opgave test - deel 2

Pas voor deze opdracht jouw oplossing van het eerste deel aan zodat fouten in het CSV bestand correct afgehandeld worden. Gebruik het bestand sensor2.csv1 om je oplossing lokaal te testen. Dit tweede CSV bestand bevat de verschillende fouten die je moet afhandelen.

Opgave foutafhandeling

Voeg volgende foutafhandeling toe aan de functie verwerk_sensor:

  1. Als het bestand niet gevonden wordt geeft de methode 0 terug.

  2. Voor elke lijn in het bestand die niet juist gestructureerd is moet een foutmelding geprint worden. De lijn met de fout moet dan overgeslagen worden, maar de verwerking gaat gewoon verder met de volgende lijn.

    De volgende structuurfouten moeten behandeld worden:

    • Indien een lijn niet het juiste aantal kolommen heeft, schrijf je de foutmelding:
      ERROR: Lijn '_lijn_' heeft niet het juiste aantal kolommen.
      (Vervang _lijn_ door de inhoud van de lijn.)
    • Enkel voor een lijn die gevraagde informatie bevat controleer je of de juiste eenheid gebruikt is. Indien de meetwaarde een foute eenheid heeft, schrijf je de foutmelding:
      ERROR: Meetwaarde '_meetwaarde_' heeft niet de juiste eenheid (_eenheid_)
      (Vervang _meetwaarde_ door de inhoud van de tweede kolom en _eenheid_ door de gewenste eenheid.)
    • Indien de meetwaarde de correcte eenheid heeft, maar geen getal voorstelt, schrijf je de foutmelding:
      ERROR: Meetwaarde '_meetwaarde_' is geen correct getal.
      (Vervang _meetwaarde_ door de inhoud van de tweede kolom.)
De foutmelding moet letterlijk zijn zoals onder getoond wordt. Gebruik dus " " bij het printen (en geen ' ').
Kopieer onderstaande tekst, en vervang _lijn_, _meetwaarde_, _eenheid_ door de juiste informatie in je code:
ERROR: Lijn '_lijn_' heeft niet het juiste aantal kolommen.
ERROR: Meetwaarde '_meetwaarde_' heeft niet de juiste eenheid (_eenheid_)
ERROR: Meetwaarde '_meetwaarde_' is geen correct getal.

Voorbeeld

>>> verwerk_sensor("sensor2.csv","TEMP",10.1,"C")
ERROR: Lijn 'SENSOR;CO2;120PPM' heeft niet het juiste aantal kolommen.
ERROR: Meetwaarde 'ERRORC' is geen correct getal.
ERROR: Lijn '13,3C' heeft niet het juiste aantal kolommen.
ERROR: Meetwaarde 'ENOTEMP' heeft niet de juiste eenheid (C).
ERROR: Lijn 'MISSING READING' heeft niet het juiste aantal kolommen.
ERROR: Meetwaarde '160F' heeft niet de juiste eenheid (C).

8
De laatste lijn is de return-waarde.