Løs en dataanalyseutfordring med LuckyTemplates Accelerator
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
Hvis du har slitt med Python-lister og lurt på hvordan du kan lagre dem som en pen CSV-fil, er du på rett sted. En av de vanligste oppgavene i Python er å skrive en liste til en kommadelt fil, og i dag skal vi gjøre deg om til en profesjonell CSV-fil!
For å skrive en liste til CSV i Python, kan du bruke en innebygd modul kalt csv som er laget spesielt for lesing og skriving av CSV-filer. Modulens csv.writer-klasse gir funksjoner for å skrive enkle og nestede lister til CSV-filer.
Andre metoder for å få det samme resultatet inkluderer å installere og bruke de eksterne Panda- eller NumPy-modulene.
Denne artikkelen vil forklare konseptene og veilede deg steg-for-steg gjennom prosessen med alle kodeeksemplene du trenger for å komme i gang.
La oss gå!
Innholdsfortegnelse
Hva er lister i Python?
En liste i Python er en innebygd datastruktur som brukes til å lagre flere elementer i en enkelt variabel.
Python-lister er:
bestilt (fra null).
mutable (kan endres).
i stand til å lagre dupliserte verdier.
Lister er definert ved å ha verdier mellom firkantede parenteser [] og elementer er atskilt med komma. Elementene i en liste kan være av hvilken som helst datatype, for eksempel tall, strenger og til og med andre lister.
Her er et eksempel på hvordan du lager en enkel liste:
products = [“t-shirts”, “hoodies”, “jeans”]
Lister over lister i Python
Lister over lister er også kjent som nestede lister . Dette er lister som inneholder andre lister som elementer.
De brukes ofte i Python for å representere strukturerte data i rader og kolonner. De brukes ofte i scenarier der du må gruppere relaterte data.
Her er et eksempel på hvordan du oppretter en nestet liste som representerer produkter, priser og salg.
product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]
CSV-filer og CSV-modulen i Python
CSV-filer representerer tabelldata i et enkelt filformat. Hver linje i filen tilsvarer en rad i tabellen. Hver verdi i raden (eller linjen) er atskilt med et komma – dette er grunnen til at formatet kalles "Kommadelte verdier".
Slik kan en fil som representerer produkter, priser og salg se ut i CSV-format:
t-skjorter, 9,99, 342
hettegensere, 24,99, 118
jeans, 29,99, 612
Csv - modulen er en innebygd Python-modul som gir verktøy for å lese og skrive data i CSV-format. Det er spesielt nyttig på grunn av dets enkelhet og effektivitet.
Ved å importere csv- modulen får du tilgang til klassen csv.writer() , som lar deg lage et writer-objekt som kan skrive en avgrenset streng til et filobjekt.
Ok, nå som vi har gått gjennom det grunnleggende, la oss ta en titt på hvordan du kan skrive en enkel liste til CSV ved å bruke Python i neste seksjon.
Hvordan skrive en enkel liste til CSV i Python
Den første teknikken å lære er for en enkel (ikke-nestet) listefil som ser slik ut:
t-skjorter
hettegensere
jeans
De brede trinnene for å skrive listen til CSV-filen er:
Importer csv- modulen.
Lag en Python-liste.
Åpne en CSV-fil i skrivemodus.
Bruk writerow() -funksjonen til csv-skriverobjektet .
Lagre og lukk CSV-filen.
Writerow () -funksjonen vil skrive flere rader, dvs. alle dataene til filen. Her er koden med detaljerte 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
Bruke kontekstbehandlere
Hvis du ikke er kjent med metoden "med" for å jobbe med filer, er dette en teknikk som bruker en kontekstbehandling som administrerer filressursene.
For eksempel, når du bruker den til å skrive CSV-filer, lukkes filene automatisk når with-setningen avsluttes.
Hvordan skrive en liste over lister til CSV
Med en liste over lister skal hver indre liste være en CSV-rad i filen. Slik ser CSV-dataene ut:
De brede trinnene ligner på forrige seksjon bortsett fra at du bruker writerows()- funksjonen 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 andre eksemplet er hver indre liste skrevet som en egen rad i filen.
Merk at csv- modulen lar deg unngå å måtte eller gjennom datastrukturen og skrive den rad for rad.
Deretter skal vi se på hvordan du kan legge til data til eksisterende CSV-filer.
Slik legger du til data til eksisterende CSV-filer
Følg disse trinnene for å legge til data til en eksisterende CSV-fil:
Importer csv- modulen.
Åpne CSV-filen i tilleggsmodus ('a') ved å bruke med open() kontekstbehandling.
Opprett en ny liste som inneholder data som skal legges til.
Lag et csv.writer() -objekt ved å sende den åpnede filen.
Bruk csv.writer() -objektet til å skrive den nye listen til CSV-filen.
Her er et eksempel som skriver legger til en nestet liste (én rad) 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 å inkludere newline=” når du åpner filen for å sikre riktig formatering av CSV-filen på forskjellige plattformer.
I neste avsnitt skal vi dekke hvordan du kan bruke DictWriter -klassen til å skrive til CSV-filer.
Hvordan bruke DictWriter til å skrive til CSV-filer
Så langt har vi lært hvordan du skriver lister til CSV-filer. Imidlertid har Python andre datastrukturer som kan også skrives til en CSV-fil.
DictWriter () -klassen er også en del av csv- modulen. Den ligner på writer() -klassen, men den håndterer ordbokdata.
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)
Avanserte CSV-teknikker i Python
Å bruke csv- modulen er ikke den eneste metoden for å eksportere Python-lister som CSV-filer.
To populære biblioteker som tilbyr funksjonalitet for denne oppgaven er Pandas og NumPy .
1. Hvordan eksportere data med pandaer
Pandas er et mye brukt Python-bibliotek for datamanipulering og -analyse.
For å lagre Python-lister som en CSV-fil, kan du opprette en pandas DataFrame fra listen og deretter bruke 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 dataene dine inkluderer ikke-ASCII-tegn, må du kanskje sette kodingsparameteren til en passende verdi, for eksempel "utf-8".
2. Hvordan bruke NumPy til å lagre lister til CSV
Et annet bibliotek som er verdt å vurdere er som gir støtte for arbeid med matriser og matriser.
NumPy tilbyr funksjonen np.savetxt() som en praktisk metode for å lagre data til en CSV-fil.
Her er et eksempel som viser hvordan du lagrer en liste til en CSV-fil ved hjelp av 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 oversikt over savetxt() -parameterne:
skilletegn: spesifiserer feltskilletegn
fmt-parameter: indikerer formatet til dataene som lagres
%s: plassholderen for strengverdier
header : en liste over kolonneoverskrifter
kommentarer: kontroller tegnene som starter kommentarer i utdatafilen.
Hvordan rense data før du skriver til fil
Det er en god idé å rydde opp i dataene dine før du skriver dem til tekstfiler. Denne videoen gir deg teknikkene du trenger:
Siste tanker
Å skrive en liste til en CSV-fil i Python er en enkel og effektiv måte å lagre og dele data på. Du har lært hvordan du bruker Pythons innebygde csv- modul for å utføre denne oppgaven.
Du er nå kjent med å lage en Python-liste, importere csv- modulen, åpne en CSV-fil og bruke csv.writeren til å skrive listen til CSV-filen.
Du har også lært de mer komplekse scenariene med å skrive en liste over lister til en CSV-fil, som lar deg lagre tabelldata.
Ikke glem, som alle ting innen programmering, øvelse gjør mester. Så ta denne nyvunne kunnskapen, lek med den og se hvordan den fungerer med ulike datasett og prosjektbehov.
Dette er bare toppen av Python-isfjellet. Det er så mye mer å utforske i Pythons enorme verden, så ikke stopp her. Men for i dag, gi deg selv et klapp på skulderen. Du har temmet beistet av liste-til-CSV-konvertering!
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
Lær hvordan du beregner løpende totaler i LuckyTemplates ved hjelp av DAX. Løpende totaler lar deg ikke bli fanget opp i et individuelt resultat.
Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.
Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.
Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.
Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.
La oss fordype oss i Standard LuckyTemplates-tema, og gjennomgå noen av funksjonene som er innebygd i selve LuckyTemplates Desktop-applikasjonen.
I denne opplæringen lærer du hvordan du bygger en egendefinert legende i en LuckyTemplates Map Visual for å vise dine foretrukne farger og segmentering.
Lær hvordan du setter opp et LuckyTemplates-bakgrunnsbilde ved hjelp av PowerPoint. Dette er en av teknikkene mine for å lage mine LuckyTemplates-rapporter.
I denne opplæringen skal vi dykke ned i noen innkjøpsanalyser i en organisasjon, ved å bruke en interaksjonsfunksjon og kraften til datamodellen.