Python

CSV-bestandsafhandeling in Python

CSV-bestandsafhandeling in Python
In dit onderwerp gaan we leren hoe we CSV-bestanden kunnen lezen en schrijven in python.

Definitie: CSV (door komma's gescheiden waarde) is vergelijkbaar met een tekstbestand waarin opgeslagen gegevens worden gescheiden door een scheidingsteken (meestal een komma). Elk veld wordt gescheiden door een scheidingsteken. In Python worden CSV-bestanden verwerkt met behulp van de CSV-module. We moeten deze module dus importeren.

Ex: csv-importeren

Het onderstaande voorbeeld laat zien hoe de gegevens worden opgeslagen in een CSV-bestand. Hier wordt een komma gebruikt als scheidingsteken.

Bestandsnaam: person_info.csv
voornaam, middelste naam, achternaam, leeftijd
Anand,kumar,wiskunde,31
Sachin, ramesh, tendulakar, 40
Virendra,sehwag,singh,38
Rahul,dravid,xyz,40

CSV-bestand kan in een van de volgende modi worden geopend:
r -> leesmodus
w -> schrijfmodus
a -> toevoegmodus

In Python wordt een bestandsbewerking in de volgende volgorde uitgevoerd:

Open een csv-bestand

Ingebouwde methode open() wordt gebruikt.

Ex:

Een bestand sluiten

Ingebouwde methode close() wordt gebruikt.

fp = open("bestandsnaam.csv",'w')
# voer enkele bestandsbewerkingen uit
fp.dichtbij()

Bestandsbewerkingen gebruiken met

De beste manier om CSV-bestandsbewerkingen uit te voeren, en de meest gebruikte methode, is met de instructie. Als u dit gebruikt, zorgt u ervoor dat het bestand wordt gesloten wanneer het blok binnen met wordt afgesloten.

Ex:

met open('bestandsnaam.csv', 'w', encoding = 'utf-8') als fp:
#voer enkele bestandsbewerkingen uit
#statements buiten het met blok

Wanneer we afsluiten met blok, wordt het bestand automatisch gesloten.

Schrijf naar een CSV-bestand

Om naar een CSV-bestand te schrijven, moeten we het openen in de schrijfmodus 'w' of 'a' toevoegen.

In het onderstaande voorbeeld gaan we uit het ene bestand lezen en naar een nieuw bestand schrijven.

import csv
met open('bestandsnaam.csv','r') als fp:
lezer = csv.reader(fp)#lees bestand
met open('nieuwebestandsnaam.csv','w') als fq:
schrijver = csv.schrijver(fq, scheidingsteken = '-')
voor regel in lezer:#Om elke rij te herhalen
auteur.writerow(line)#write regel naar nieuw bestand

Woordenboekschrijver gebruiken

In het onderstaande voorbeeld gaan we uit het ene bestand lezen en naar een nieuw bestand schrijven met behulp van de DictWriter()-methode.

import csv
met open('bestandsnaam.csv','r') als fp:
lezer = csv.DictReader(fp)#bestand lezen
met open('nieuwebestandsnaam.csv','w',newline=") as fq:#newline ="om te voorkomen dat er een extra nieuwe regel wordt toegevoegd
row_names = ['voornaam','middle name','achternaam','leeftijd']
schrijver = csv.DictWriter(fq, veldnamen = rijnamen, scheidingsteken = '-')
auteur.writeheader()#write kopregels
voor line-in-lezer:
auteur.schrijfrij (regel)

Schrijfrijen()

Deze methode schrijft meerdere rijen tegelijk; we moeten een lijst met lijsten doorgeven. Ex:

import csv
head_names = ['voornaam','middle name','achternaam','leeftijd']
# gegevensrijen van csv-bestand
rijen = [['Anand','kumar','wiskunde',31],
['Sachin','ramesh', 'tendulakar',40],
['Virendra','sehwag','singh',38],
['Rahul','dravid','xyz',40]]
# schrijven naar csv-bestand
met open('nieuwebestandsnaam.csv', 'w') als fp:
# een csv-schrijverobject maken
csvwriter = csv.schrijver (fp)
# schrijf de kop
csvschrijver.schrijfrij(head_names)
# schrijf de gegevensrijen
csvschrijver.schrijfrijen (rijen)

Lezen uit bestand

Om het CSV-bestand in Python te lezen, moeten we het bestand openen in leesmodus 'r'. Ex:

import csv
met open('bestandsnaam.csv','r') als fp:
data = csv.lezer (fp)
#default scheidingsteken is een komma, als csv gescheiden door een ander scheidingsteken moet worden gespecificeerd
#Ex-gegevens = csv.lezer(fp, scheidingsteken = '-')
print(data) # it return object
#koptekst overslaan
next(data)#call next methode van generator
voor regel in gegevens:#Om elke rij te herhalen
print(line) # print elke waarde in een lijst
fp.seek(0)# breng cursor naar eerste regel
voor line-in-gegevens:
print(line[0])# print alleen voornamen

Woordenboeklezer gebruiken

Csv-bestand lezen met de DictReader()-methode.

import csv
met open('bestandsnaam.csv','r') als fp:
lezer = csv.DictReader(fp)#bestand lezen
voor line-in-lezer:
print(line)#print elke rij in de vorm van een woordenboek
fp.seek(0)# breng cursor naar eerste regel
voor gegevens in lezer:
print(data['age'])#we kunnen alleen de leeftijd afdrukken door de 'age'-toets te gebruiken

Conclusie

We hebben geleerd hoe we een bestand kunnen lezen en schrijven met behulp van de CSV-module. CSV-bestand is het meest gebruikte bestandsformaat in de automatiseringsindustrie omdat het gemakkelijk is om de gegevens te lezen en aan te passen. Pandas is ook een andere methode die we kunnen gebruiken om CSV-bestanden te verwerken.

Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...