Att arbeta med CSV-filer (Comma-Separated Values) är en vanlig uppgift inom programmering som visar sig i många praktiska tillämpningar. Oavsett om du hämtar data från API:er eller hanterar lagerbestånd — möjligheten att läsa och skriva CSV-filer är ovärderlig. I den här guiden lär du dig hur du effektivt kan bearbeta CSV-filer med Python. Vi kommer att titta på skapandet av CSV-filer, läsa data och manipulera dessa data.
Viktigaste insikter
- Modulöversikt: Python erbjuder en inbyggd CSV-modul som tillhandahåller CSV-läsare och skrivare.
- Datastruktur: Du kan använda både listor och ordböcker för att lagra och bearbeta data.
- Effektiv I/O-hantering: Använd with open(...) för att hantera filåtkomst så att du slipper tänka på att stänga filerna.
Steg-för-steg-guide
Skapa katalog och CSV-fil
I början skapar du en tom katalog. I denna katalog bör du skapa en fil med namnet csvdateien.py. Denna fil kommer att vara ditt huvudsakliga skript för arbete med CSV-filer.

Inuti din Python-fil kan du skapa CSV-filen genom att använda namnet produkte.csv. I denna fil kommer du att definiera kolumnerna med rubrikerna Produkt ID, Namn, Pris och Lagerbestånd.

CSV-filen kan till exempel se ut så här:
Produkt ID,Namn,Pris,Lagerbestånd 1,iPad,399,50 2,Nerfgun,29.99,100
läsa CSV-fil
För att läsa data från produkte.csv-filen behöver du CSV-modulen. Modulen gör att du kan bearbeta CSV-data effektivt. Du kan omvandla data till ett läsbart format genom att använda with open(...). Detta undviker manuell stängning av filobjekt och gör din kod renare och säkrare.
I nästa steg skapar du en CSV-läsare. Med den kan du gå igenom filen rad för rad och extrahera data:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Här läses varje rad som en lista, vilket visar att data är strukturerade som förväntat. Varje rad motsvarar en produkt och innehåller information om ID, namn, pris och lagerbestånd.
Användning av ordböcker för mer intuitiv databehandling
För att hantera data enklare och mer intuitivt bör du använda ordboksformatet. Med en ordboks-läsare kan du förenkla åtkomsten till dina data genom fältnamn.

Här behöver du också with open(...), för att öppna filen och skapa CSV-läsaren. Se till att ange en lista över fält du vill läsa:

Nu kan du enkelt komma åt fälten via namnen. Detta gör din bearbetning mycket mer tillgänglig.
skriva CSV-fil
För att skriva egna data till en CSV-fil kan du använda ett ordboks-skrivarobjekt. Du har möjlighet att skapa en lista med ordböcker som representerar dina data.

Här är ett enkelt exempel på hur du kan spara en lista med superhjältar som en CSV-fil:
with open('superhjältar.csv', 'w', newline='') as csvfile: fieldnames = ['Namn', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

Filen superhjältar.csv kommer nu att skapas och innehålla superhjältarnas data i ett välstrukturerat, läsbart format.
Avslutning och praktisk tillämpning
CSV-filer är ett värdefullt verktyg för datadelning som ofta behövs i praktiken. Denna guide ger dig grunderna för bearbetning av CSV-filer med Python. Du har lärt dig hur du läser data från CSV-filer, bearbetar dem i Python och skriver egna data i CSV-format.
Sammanfattning – Bearbetning av CSV-filer med Python
CSV-filer är ett viktigt format för datadelning i många tillämpningar. Med Python kan du effektivt och enkelt arbeta med dessa filer. När du väl har förstått grunderna kan du enkelt tillämpa dessa tekniker på komplexa datatillämpningar.
Vanliga frågor
Hur öppnar jag en CSV-fil i Python?Du kan öppna en CSV-fil i Python med with open('filnamn.csv', 'r'):.
Hur kan jag skriva data till en CSV-fil?Detta kan du göra med csv.writer eller csv.DictWriter-objektet för att formatera data och skriva dem till filen.
Vad är skillnaden mellan csv.reader och csv.DictReader?csv.reader läser data som listor, medan csv.DictReader ger data som ordböcker med fältnamn som nycklar.
Hur kan jag ställa in headern i en CSV-fil?Headern kan anges med writeheader() när du skriver en CSV-fil via skrivaren.
Hur läser jag en CSV-fil med anpassade fältnamn?Överför en lista med önskade fältnamn när du skapar en csv.DictReader.