Python pandas read_csv() is een van de meest gebruikte methoden om CSV-bestanden in pandas te lezen en op te slaan als Da­taF­ra­mes. CSV-bestanden (comma-separated values) zijn een veel­ge­bruikt formaat voor het opslaan van ta­bel­ge­ge­vens en worden door veel toe­pas­sin­gen on­der­steund.

Wat is de syntaxis voor Python pandas read_csv()?

pandas.read_csv() maakt een pandas DataFrame aan op basis van een CSV-bestand. De ba­sis­syn­taxis van de functie ziet er als volgt uit:

import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, ...)
python

Wat zijn de be­lang­rijk­ste pa­ra­me­ters voor pandas.read_csv()?

pandas.read_csv() kan een breed scala aan pa­ra­me­ters ac­cep­te­ren. Om het eenvoudig te houden, zullen we ons con­cen­tre­ren op de be­lang­rijk­ste ar­gu­men­ten. Hier volgt een overzicht van de be­lang­rijk­ste pa­ra­me­ters die u kunt gebruiken om te spe­ci­fi­ce­ren hoe de functie zich moet gedragen:

Parameter Betekenis Stan­daard­waar­de
filepath_or_buffer Dit is een Python-string die het pad naar het CSV-bestand of een ge­ge­vens­buf­fer ver­te­gen­woor­digt, zoals een URL
sep Dit geeft het schei­dings­te­ken tussen waarden aan. ,
header Geeft aan welke rij als koptekst moet worden gebruikt. infer (eerste rij)
names Als header=None is ingesteld, kunt u names gebruiken om een Python-lijst met ko­lom­na­men op te geven.
index_col Bepaalt welke kolom als index moet worden gebruikt. None
usecols Met deze parameter kunt u se­lec­te­ren welke kolommen u in het DataFrame wilt laden. None
dtype Spe­ci­fi­ceert het ge­ge­vens­ty­pe van de kolommen. None

Een uit­ge­brei­de lijst met pa­ra­me­ters voor deze functie vindt u in de do­cu­men­ta­tie van pandas.

Staps­ge­wij­ze toegang tot CSV-bestanden

Met pandas.read_csv() kunt u in slechts enkele stappen eenvoudig gegevens uit CSV-bestanden over­zet­ten naar Python.

In de volgende voor­beel­den werken we met een CSV-bestand dat als volgt is ge­struc­tu­reerd:

1,John Avery,35,Nottingham,50000
2,Adelaide Smith,29,London,62000
3,Michael Rivera,41,Cardiff,40000
4,Grace Kim,33,Hull,35000
5,Tyler Johnson,28,Kent,52000

Stap 1: Importeer pandas

Importeer eerst de pandas-bi­bli­o­theek in uw Python-script.

import pandas as pd
python

Stap 2: Laad het CSV-bestand

Nu kunt u uw CSV-bestand laden in Python pandas met behulp van de functie read_csv(). Geef gewoon het be­stands­pad door aan de functie. In de volgende code gebruiken we een bestand met de naam data.csv, dat is op­ge­sla­gen in dezelfde map als het script:

df = pd.read_csv('data.csv')
python

De bo­ven­staan­de code slaat het bestand op in een DataFrame-object (df), waarmee we ver­vol­gens kunnen werken. Pandas in­ter­pre­teert de eerste rij au­to­ma­tisch als ko­lom­kop­pen, tenzij u anders aangeeft.

Stap 3: Het CSV-bestand weergeven

Het is een goed idee om de eerste paar rijen van het DataFrame te bekijken om er zeker van te zijn dat het bestand correct is geladen. Hiervoor kunt u de functie DataFrame.head() gebruiken. Standaard worden de eerste vijf rijen van het DataFrame weer­ge­ge­ven, zodat u snel een overzicht krijgt van de structuur van de gegevens:

print(df.head())
python

De uitvoer ziet er als volgt uit:

0  1        John Avery   35      Nottingham  	50000
1  2    Adelaide Smith   29   	 London 	    62000
2  3   Michael Rivera    41      Cardiff	   	40000
3  4        Grace Kim    33      Hull 		    35000
4  5    Tyler Johnson    28      Kent   		52000

Stap 4: Wijzig de ko­lom­na­men (optioneel)

Als uw CSV-bestand geen kop­tekstrij heeft, kunt u de ko­lom­na­men handmatig de­fi­ni­ë­ren:

df = pd.read_csv('data.csv', header=None, names=['ID', 'Name', 'Age', 'City', 'Salary'])
python

In dit voorbeeld hebben we de kolommen ID, Naam, Leeftijd, Woon­plaats en Salaris genoemd. De uitvoer ziet er als volgt uit:

ID                Name    	Age            City    	Salary
0  1          John Avery    	35        Nottingham    50000
1  2     Adelaide Smith    	29    	London        62000
2  3    Michael Rivera    	41        Cardiff    	40000
3  4          Grace Kim    	33        Hull        	35000
4  5     Tyler Johnson    	28        Kent        52000
Ga naar hoofdmenu