At arbejde med CSV-filer (Comma-Separated Values) er en almindelig opgave inden for programmering, som viser sig i mange praktiske anvendelser. Uanset om du henter data fra APIs eller administrerer lagerbeholdninger — muligheden for at læse og skrive CSV-filer er uundgåelig. I denne vejledning lærer du, hvordan du effektivt kan håndtere CSV-filer med Python. Vi vil se på oprettelsen af CSV-filer, læsning af data samt manipulation af disse data.

Vigtigste indsigter

  • Moduloversigt: Python tilbyder et indbygget CSV-modul, som tilbyder CSV-Reader og Writer.
  • Datastruktur: Du kan bruge både lister og dictionaries til at gemme og behandle data.
  • Effektiv I/O-håndtering: Brug with open(...) til håndtering af filadgang, så du ikke behøver at tænke på at lukke filerne.

Trin-for-trin-vejledning

Opret mappe og CSV-fil

I starten opretter du en tom mappe. I denne mappe bør du oprette en fil med navnet csvdateien.py. Denne fil vil være dit hovedscript til arbejde med CSV-filer.

Effektiv behandling af CSV-filer med Python

Inden for din Python-fil kan du oprette CSV-filen ved at bruge navnet produkte.csv. I denne fil vil du definere kolonnerne med overskrifterne Produkt ID, Navn, Pris og Lagerbestand.

Effektiv behandling af CSV-filer med Python

CSV-filen kunne for eksempel se sådan ud:

Produkt ID,Navn,Pris,Lagerbestand 1,iPad,399,50 2,Nerfgun,29.99,100

Læs CSV-fil

For at læse data fra produkte.csv-filen, skal du bruge CSV-modulet. Modulet gør det muligt for dig at behandle CSV-data effektivt. Du kan omdanne dataene til et læsbart format ved at bruge with open(...). Det undgår manuel lukning af filobjekter og gør din kode renere og sikrere.

I det næste skridt opretter du en CSV-Reader. Med den kan du gennemløbe filen linje for linje og ekstrahere dataene:

import csv

with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Effektiv behandling af CSV-filer med Python

Her bliver hver linje læst som en liste, hvilket viser, at dataene er struktureret som forventet. Hver linje svarer til et produkt og indeholder oplysninger om ID, Navn, Pris og Lagerbestand.

Brug af dictionaries til mere intuitiv databehandling

For at håndtere dataene enklere og mere intuitivt bør du bruge dictionary-formatet. Med en Dictionary-Reader kan du lette adgangen til dine data ved hjælp af felt-navne.

Effektiv behandling af CSV-filer med Python

Her har du også brug for with open(...), for at åbne filen og oprette CSV-Readeren. Sørg for at angive en liste over de felter, du ønsker at læse:

with open('produkte.csv', newline='') as csvfile: fieldnames = ['Produkt ID', 'Navn', 'Pris', 'Lagerbestand'] csvreader = csv.DictReader(csvfile, fieldnames=fieldnames) for row in csvreader: print(row)
Effektiv behandling af CSV-filer med Python

Nu kan du nemt få adgang til felterne via deres navne. Det gør din databehandling langt mere tilgængelig.

Skriv CSV-fil

For at skrive egne data til en CSV-fil kan du bruge et Dictionary-Writer-objekt. Du har mulighed for at oprette en liste af dictionaries, der repræsenterer dine data.

Effektiv behandling af CSV-filer med Python

Her er et simpelt eksempel på, hvordan du kan gemme en liste med superhelte som en CSV-fil:

superhelden = [ {'Navn': 'Tony Stark', 'Alias': 'Iron Man'}, {'Navn': 'Peter Parker', 'Alias': 'Spider-Man'}, {'Navn': 'Oliver Queen', 'Alias': 'Green Arrow'}
]

with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Navn', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

writer.writeheader()
for held in superhelden: writer.writerow(held)
Effektiv behandling af CSV-filer med Python

Fil superhelden.csv vil nu blive oprettet og indeholde oplysningerne om superhelte i et godt struktureret, læsbart format.

Afgang og praktisk anvendelse

CSV-filer er et værdifuldt redskab til datadeling, som ofte er nødvendigt i praksis. Denne vejledning giver dig grundlæggende regler for håndtering af CSV-filer med Python. Du har lært, hvordan du læser data fra CSV-filer, behandler dem i Python og skriver egne data til CSV-formatet.

Resumé – Behandling af CSV-filer med Python

CSV-filer er et vigtigt format til datadeling i mange anvendelser. Med Python kan du effektivt og nemt arbejde med disse filer. Når du først har forstået grundlagene, kan du let anvende disse teknikker på komplekse dataanvendelser.

Ofte stillede spørgsmål

Hvordan åbner jeg en CSV-fil i Python?Du kan åbne en CSV-fil i Python med with open('filnavn.csv', 'r'):.

Hvordan kan jeg skrive data til en CSV-fil?Til det bruger du csv.writer eller csv.DictWriter-objektet til at formatere og skrive dataene til filen.

Hvad er forskellen mellem csv.reader og csv.DictReader?csv.reader læser dataene som lister, mens csv.DictReader udskriver dataene som dictionaries med feltnavne som nøgler.

Hvordan fastsætter jeg header i en CSV-fil?Headeren kan angives med writeheader() ved skrivning af en CSV-fil via Writeren.

Hvordan læser jeg en CSV-fil med brugerdefinerede feltnavne?Overfør en liste over de ønskede feltnavne ved oprettelse af en csv.DictReader.