hoe open lees ik een csv bestand in python pandas

CSV staat voor comma separated values (oftewel: een bestand met door comma's gescheiden waardes). Vraag jij je af wat een CSV-bestand precies is en hoe je met CSV bestanden werkt binnen Python? Na het lezen van deze pagina ken je de meestgebruikte mogelijkheden die er zijn.

In dit artikel behandelen we de volgende onderwerpen:

Met vertrouwen Python inzetten voor data analyses? Schrijf je in voor een van onze trainingen.



Wat is een CSV-bestand?

Een CSV-bestand is het meestgebruikte bestandstype voor imports en exports van spreadsheets en databases. Als data scientist heb je vaak met dit bestandstype te maken. Het bestandstype werd al jaren gebruikt voordat men probeerde een uniforme standaard te zetten voor CSVs. Hierdoor zijn er redelijk wat subtiele verschillen ontstaan in het gebruik van CSV bestanden. Het kan daarom wat frustratie opwekken als je een CSV bestand gegenereerd door het ene programma niet wil laden in een ander programma.

Een CSV-bestand kan er als volgt uitzien:

voornaam,achternaam,leeftijd,snapt_csvs
Henk,Jansen,52,ja
Anja,Groen,31,nee

Eigenschappen van een CSV-bestand

Een CSV-bestand heeft de volgende eigenschappen die in 2005 werden vastgelegd in rfc4180:

  • Iedere regel bevat een individuele observatie, gevolgd door een regeleinde (enter)
  • De laatste observatie mag met een regeleinde (enter) eindigen, maar dat hoeft niet
  • De eerste regel van het CSV-bestand kan optioneel een header regel bevatten waarin column-namen worden gevat
  • Iedere observatie bevat één of meerdere waarden gescheiden door comma's. De laatste waarde per regel wordt niet gevolgd door een comma
  • Iedere regel bevat evenveel velden (ook lege waarden worden gescheiden door comma's)
  • Spaties worden niet genegeerd
  • Waarden kunnen zowel met als zonder aanhalingstekens worden opgenomen in een CSV-bestand
  • Waarden die regeleindes (enters) in zich hebben moeten tussen dubbele aanhalingstekens staan

De comma is niet het enige scheidingsteken dat gebruikt wordt in de praktijk. Ook tabs, de dubbele punt, en de puntcomma worden gebruikt als scheidingstekens.

CSV-bestanden openen met de standaard Python csv module

Binnen de standaardinstallatie van Python heb je de csv module. Deze module maakt het mogelijk om CSV-bestanden te lezen en schrijven. Je importeert deze module met de code import csv.

De module werkt standaard met CSV-bestanden gegenereerd door Excel (lees ook: Excel vs Python), maar heeft ook de mogelijkheden om om te gaan met CSV-bestanden met een andere opbouw.

Het is ook mogelijk om iedere regel als een dictionary in te lezen met csv.DictReader. De keys worden dan bepaald door de waarden in de header regel.

CSV-bestanden schrijven met de standaard Python csv module

Het schrijven van CSV-bestanden is even simpel met de csv module in Python. Hier voegen we twee observaties toe aan ons voorbeeldbestand csv_voorbeeld.txt.

Als quoting = csv.QUOTE_MINIMAL, dan zal Python alleen waarden tussen quote-characters zetten als de waarde het scheidingsteken bevat.

Met vertrouwen Python inzetten voor data analyses? Schrijf je in voor een van onze trainingen.


CSV-bestanden openen met Pandas

Het Pandas package is het meestgebruikte package voor data analyse binnen Python. Het package biedt ook de mogelijkheid om CSV-bestanden te openen en te schrijven.

Allereerst dient Pandas geïnstalleerd te worden.

Vervolgens lezen we het bestand in dat we eerder hebben gebruikt.

Je kunt zien dat de code om een CSV-bestand in te lezen met Pandas erg simpel en overzichtelijk is, evenals de output. Pandas maakt een DataFrame van het bestand. Het DataFrame bevat automatisch de header waarden als column namen en Pandas heeft tevens index-nummers toegevoegd. D.m.v. verschillende parameters kun je zelf index- en column-namen kiezen.

CSV-bestanden schrijven met Pandas

Het schrijven naar CSV-bestanden vanuit Pandas kan met de code DataFrame.to_csv(). In onderstaand voorbeeld maken we een nieuw CSV-bestand waarbij we de index van het huidige DataFrame negeren.

Je zult nu een nieuw gegenereerd CSV-bestand vinden in de map waar je je Python script uitvoert.

Wil je nog veel meer leren over met mogelijkheden met Python voor Data Science? Schrijf je dan in voor onze Python cursus voor data science, onze machine learning training, of voor onze data science opleiding en leer met vertrouwen te programmeren en analyseren in Python. Nadat je een van onze trainingen hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen als je een vraag hebt.

Download één van onze opleidingsbrochures voor meer informatie

by: