Sådan skriver du en liste til CSV i Python

Hvis du har kæmpet med Python-lister og undret dig over, hvordan du kan gemme dem som en pæn CSV-fil, er du på det rigtige sted. En af de mest almindelige opgaver i Python er at skrive en liste til en kommasepareret fil, og i dag skal vi forvandle dig til en CSV-filfremkaldende pro!

For at skrive en liste til CSV i Python kan du bruge et indbygget modul kaldet csv, der er designet specielt til at læse og skrive CSV-filer. Modulets csv.writer-klasse giver funktioner til at skrive simple og indlejrede lister til CSV-filer.

Andre metoder til at få det samme resultat inkluderer installation og brug af de eksterne Pandas eller NumPy moduler.

Denne artikel vil forklare begreberne og guide dig trin for trin gennem processen med alle de kodeeksempler, du har brug for for at komme i gang.

Lad os gå!

Indholdsfortegnelse

Hvad er lister i Python?

Sådan skriver du en liste til CSV i Python

En liste i Python er en indbygget datastruktur, der bruges til at gemme flere elementer i en enkelt variabel.

Python lister er:

  • bestilt (startende fra nul).

  • mutable (kan ændres).

  • i stand til at gemme duplikerede værdier.

Lister er defineret ved at have værdier mellem firkantede parenteser [], og elementer er adskilt med kommaer. Elementerne på en liste kan være af enhver datatype, såsom tal, strenge og endda andre lister.

Her er et eksempel på oprettelse af en simpel liste:

products = [“t-shirts”, “hoodies”, “jeans”]

Lister over lister i Python

Lister over lister er også kendt som indlejrede lister . Dette er lister, der indeholder andre lister som deres elementer.

De bruges ofte i Python til at repræsentere strukturerede data i rækker og kolonner. De bruges ofte i scenarier, hvor du skal gruppere relaterede data sammen.

Her er et eksempel på oprettelse af en indlejret liste, der repræsenterer produkter, priser og salg.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

CSV-filer og CSV-modulet i Python

CSV-filer repræsenterer tabeldata i et simpelt filformat. Hver linje i filen svarer til en række i tabellen. Hver værdi i rækken (eller linjen) er adskilt af et komma - det er derfor formatet kaldes 'Kommaseparerede værdier'.

Sådan kunne en fil, der repræsenterer produkter, priser og salg, se ud i CSV-format:

  • t-shirts, 9,99, 342

  • hættetrøjer, 24,99, 118

  • jeans, 29,99, 612

Sådan skriver du en liste til CSV i Python

Csv - modulet er et indbygget Python-modul, der giver værktøjer til at læse og skrive data i CSV-format. Det er især nyttigt på grund af dets enkelthed og effektivitet.

Ved at importere csv- modulet får du adgang til klassen csv.writer() , som giver dig mulighed for at oprette et writer-objekt, der kan skrive en afgrænset streng til et filobjekt.

Okay, nu hvor vi har gennemgået det grundlæggende, lad os tage et kig på, hvordan du kan skrive en simpel liste til CSV ved hjælp af Python i næste afsnit.

Sådan skriver du en simpel liste til CSV i Python

Den første teknik at lære er en simpel (ikke-indlejret) listefil, der ser sådan ud:

  • t-shirts

  • hættetrøjer

  • jeans

Sådan skriver du en liste til CSV i Python

De brede trin til at skrive listen til CSV-fil er:

  1. Importer csv- modulet.

  2. Opret en Python-liste.

  3. Åbn en CSV-fil i skrivetilstand.

  4. Brug funktionen writerow() for csv-skriverobjektet .

  5. Gem og luk CSV-filen.

Writerow () -funktionen vil skrive flere rækker, dvs. alle data til filen. Her er koden med detaljerede kommentarer.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a 
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

Brug af Context Managers

Hvis du ikke er bekendt med metoden "med" til at arbejde med filer, er dette en teknik, der bruger en konteksthåndtering, der styrer filressourcerne.

For eksempel, når du bruger det til at skrive CSV-filer, lukkes filerne automatisk, når with-sætningen slutter.

Sådan skriver du en liste over lister til CSV

Med en liste over lister skal hver indre liste være en CSV-række i filen. Sådan ser CSV-dataene ud:

Sådan skriver du en liste til CSV i Python

De brede trin ligner det forrige afsnit, bortset fra at du bruger funktionen writerows() i stedet for writerow() .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

I dette andet eksempel er hver indre liste skrevet som en separat række i filen.

Bemærk, at csv- modulet lader dig undgå at skulle eller gennem datastrukturen og skrive den række for række.

Dernæst vil vi se på, hvordan du kan tilføje data til eksisterende CSV-filer.

Sådan tilføjer du data til eksisterende CSV-filer

Sådan skriver du en liste til CSV i Python

Følg disse trin for at tilføje data til en eksisterende CSV-fil:

  1. Importer csv- modulet.

  2. Åbn CSV-filen i tilføjelsestilstand ('a') ved hjælp af med open() konteksthåndtering.

  3. Opret en ny liste med data, der skal tilføjes.

  4. Opret et csv.writer() objekt ved at sende den åbnede fil.

  5. Brug objektet csv.writer() til at skrive den nye liste til CSV-filen.

Her er et eksempel, der skriver tilføjer en indlejret liste (en række) til en eksisterende fil:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

Sørg for at inkludere newline=” når du åbner filen for at sikre korrekt formatering af CSV-filen på forskellige platforme.

I det næste afsnit vil vi dække, hvordan du kan bruge DictWriter -klassen til at skrive til CSV-filer.

Sådan bruger du DictWriter til at skrive til CSV-filer

Sådan skriver du en liste til CSV i Python

Indtil videre har vi lært, hvordan man skriver lister til CSV-filer. Python har dog andre datastrukturer, som også kan skrives til en CSV-fil.

Klassen DictWriter () er også en del af csv- modulet. Den ligner writer()- klassen, men den håndterer ordbogsdata.

Her er et eksempel:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Avancerede CSV-teknikker i Python

Brug af csv- modulet er ikke den eneste metode til at eksportere Python-lister som CSV-filer.

To populære biblioteker, der leverer funktionalitet til denne opgave, er Pandas og NumPy .

1. Sådan eksporteres data med pandaer

Sådan skriver du en liste til CSV i Python

Pandas er et meget brugt Python-bibliotek til datamanipulation og -analyse.

For at gemme Python-lister som en CSV-fil, kan du oprette en pandas DataFrame fra listen og derefter bruge to_csv()- metoden, som vist nedenfor:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

Hvis dine data indeholder ikke-ASCII-tegn, skal du muligvis indstille indkodningsparameteren til en passende værdi, såsom 'utf-8'.

2. Sådan bruger du NumPy til at gemme lister til CSV

Et andet bibliotek, der er værd at overveje, er, som giver støtte til at arbejde med arrays og matricer.

NumPy tilbyder funktionen np.savetxt() som en bekvem metode til at gemme data til en CSV-fil.

Her er et eksempel, der viser, hvordan man gemmer en liste til en CSV-fil ved hjælp af NumPy:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

Her er en oversigt over savetxt() -parametrene:

  • afgrænsningstegn: angiver feltseparatoren

  • fmt-parameter: angiver formatet på de data, der gemmes

  • %s: pladsholderen for strengværdier

  • header : en liste over kolonneoverskrifter

  • kommentarer: styr de tegn, der starter kommentarer i outputfilen.

Sådan renses data, før du skriver til fil

Det er en god idé at rydde op i dine data, før du skriver dem til tekstfiler. Denne video vil give dig de teknikker, du har brug for:

Afsluttende tanker

At skrive en liste til en CSV-fil i Python er en enkel og effektiv måde at gemme og dele data på. Du har lært, hvordan du bruger Pythons indbyggede csv- modul til at udføre denne opgave.

Du er nu bekendt med at oprette en Python-liste, importere csv- modulet, åbne en CSV-fil og bruge csv.writeren til at skrive listen til CSV-filen.

Du lærte også de mere komplekse scenarier med at skrive en liste over lister til en CSV-fil, som giver dig mulighed for at gemme tabeldata.

Glem ikke, som alle ting inden for programmering, øvelse gør mester. Så tag denne nyfundne viden, leg med den, og se, hvordan den fungerer med forskellige datasæt og projektbehov.

Dette er kun toppen af ​​Python-isbjerget. Der er så meget mere at udforske i Pythons store verden, så stop ikke her. Men for i dag, giv dig selv et skulderklap. Du har med succes tæmmet dyret af liste-til-CSV-konvertering!

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.