Python -liste til CSV

Python -liste til CSV
Filformatet kjent som CSV (komma -separerte verdier) brukes til å lagre tabulerte data i ren tekst, omtrent som et regneark eller en database. Python har en innebygd modul som heter CSV som muliggjør lesing og skriving av CSV-filer. Python har to biblioteker som lar oss skrive til eller lage CSV -filer. CSV.forfatter () og CSV.Dictwriter () funksjoner. I Python er lister blant de mest populære og ofte brukte datastrukturene. I dette innlegget lærer vi hvordan du bruker Python til å lage en CSV -fil fra en liste.

Hva er et listeobjekt i Python?

En Python -liste er et ordnet arrangement av elementer som kan endres. Elementene eller verdiene som utgjør en liste eller lagres i en liste blir referert til som dens elementer. Når du jobber med mange tilkoblede verdier, er lister et nyttig verktøy. De gir deg muligheten til å effektivisere koden din, utføre de samme operasjonene på flere verdier samtidig og holde relaterte data sammen.

Hva er CSV i Python?

En stor mengde data i tabellform (tall og tekst) kan lagres i dette formatet, i vanlig tekst, noe som gjør det veldig nyttig. Hver rad eller horisontal linje i dataene representerer en enkelt registrering av data, og hver post består av enkelt- eller flere felt/kolonner, atskilt med komma. Microsoft Excel kan også brukes til å åpne CSV -filen.

Hvordan konvertere eller skrive et listeobjekt til CSV i Python?

Python tilbyr fire grunnleggende metoder for å lage en CSV -fil fra en liste og en liste over lister.

  1. Skriv listen til filen ved hjelp av Writerows () -funksjonen på CSV Writer -objektet etter å ha importert CSV -modulen til Python.
  2. Lag et DataFrame etter import av Pandas -biblioteket, og bruk deretter DataFrame -funksjonen “DataFrame.til CSV () ”for å skrive DataFrame til en fil.
  3. Etter å ha importert det numpy biblioteket, oppretter du et numpy matrise og bruker deretter “Numpy.Savetxt () ”-metode for å lagre dataene i en CSV -fil.
  4. Bruk filen I/O -funksjonaliteten til Python for en ren Python -tilnærming som ikke trenger en modul.

I avsnittet nedenfor vil vi forklare hver metode sammen med praktisk implementering i form av eksempler.

Metode 1: Konvertere en liste til en CSV -fil ved hjelp av CSV -modul

Pythons CSV -modul gjør det enkelt å lese og skrive CSV -filer. Ved hjelp av Open () -funksjonen vil vi først åpne den nødvendige CSV -filen i skrivemodus for å bruke denne modulen. Deretter bruker du CSV.Writer () Funksjon, vi kan skrive Python -listeobjektet som en avgrenset streng i en fil ved å opprette et forfatterobjekt. Med denne funksjonen kan vi benytte oss av noen få parametere.

Eksempel 1: Konverter et listeobjekt til en CSV -rad

Her vil vi skrive Python -koden for å skrive en liste til en CSV -rad. Vi importerer en CSV -modul først. En liste vil bli opprettet med dataelementer. Deretter vil vi lage vårt 'filnavn.CSV '. "W+" -modus vil bli brukt til å skrive CSV -filen. Du kan skaffe verdiene/elementene i NewLine ved å bruke Newline = ". Writerows () vil bli brukt til å skrive alle radene til filen, mens “CSV.forfatter (fil) ”skriver alle dataene til listen til CSV -filen.

Utgangen vises til oss i radformat:

Eksempel nr. 2: Konverter et listeobjekt til en CSV -overskrift

Vi vil nå se hvordan du konverterer en liste til en CSV -overskrift

I dette eksemplet vil vi ta en variabel etter lasting/import av CSV -modulen. Deretter vil vi bruke Open () -funksjonen for å åpne filen. CSV Writer -metoden vil bli brukt til å skrive/konvertere listeobjektet til en CSV -fil. Ved hjelp av Writerow () vil vi skrive listenes data i form av rader til en CSV -fil. Igjen vil vi bruke Writerows () -funksjonen til å skrive overskriften til listedataene.

Header- og listeelementene er begge synlige i CSV -filen vår:

Metode 2: Konvertere en liste til en CSV -fil ved hjelp av Pandas -modulen

For å bruke denne metoden, må vi først konvertere listeobjektet til en DataFrame, som deretter vil bli konvertert til en ekstern CSV. Denne metoden er virkelig nyttig når vi trenger å skrive mer enn en liste eller liste over lister til en .CSV -fil. I tillegg gjør det at vi automatisk kan inkludere en kolonneindeks og kolonnenavn i den resulterende filen.

Eksempel 1: Bruke TO_CSV () -funksjon

En Pandas DataFrame kan opprettes fra en liste over lister, noe som gir deg tilgang til nyttige funksjoner som TO_CSV () -metoden. Fordelen med å bruke denne metoden er at ingen ekstra biblioteker må importeres.

Output-fil:

Disse parametrene kan brukes med denne funksjonen for å endre utgangsfilen:

  • Utgangsfilens avgrenser kan settes ved hjelp av SEP -parameteren.
  • Utgangsfilens kolonner kan spesifiseres ved hjelp av kolonnens parameter.
  • Ved å bruke kodingsparameteren kan den nødvendige kodingen spesifiseres.
  • Vi kan spesifisere kolonnenavn ved hjelp av Headers -argumentet.
  • For å spesifisere radindeksen eller kolonnenavnene som skal fungere som indeksen, kan indeksetiketten og indeksparametrene brukes.

Metode 3: Konvertere en liste til en CSV -fil ved hjelp av Numpy -modulen

Pythons og maskinlæring og datavitenskapsfunksjonalitet er bygget rundt numpy. Numpy matriser brukes av til og med pandaer for å implementere viktige funksjoner. Numpy -modulen ga noen funksjoner som vi kan bruke til å skrive listeobjektet til CSV. Denne metoden er mest effektiv når du bare har numeriske data. Ellers krever det komplekse datatype -transformasjoner, som ikke anbefales.

Eksempel 1: Bruke Savetext () -funksjonen

Ved hjelp av Numpys Savetext () -funksjon kan du opprette en CSV -fil fra en liste over lister. Numpy -matrisen vil bli passert som en inngang til funksjonen.

Output-fil:

I skriptet over,

  • Siden alle elementene var tall, satte vi FMT -argumentet som %d for å spesifisere formatet som heltall.
  • Komma er spesifisert som avgrensningskarakteren.

Eksempel 2: Bruke Numpy.Tofile () -funksjon

Numpy modulens tofile () -funksjon brukes vanligvis til hurtig datalagring i tekstfiler eller binære filer. En liste kan skrives til en CSV ved hjelp av Tofile () -funksjonen. Utgangen vil imidlertid være en linje. Med denne funksjonen kan du spesifisere formatet til dataene og avgrensekarakteren ved å bruke format- og SEP -parametere.

Output-fil:

Som det kan sees, i stedet for rader, er alt ordnet i en enkelt linje. Det er nødvendig å først konvertere listen til en matrise før du bruker Tofile () -funksjonen.

Metode 4: Konvertere en liste til CSV uten å importere moduler

Vi kan bruke standard eller grunnleggende Python -implementering i stedet for å importere biblioteker for å opprette en CSV -fil fra en liste over lister fordi den er enkel og effektiv. Imidlertid, hvis det er mulig, burde du stole på biblioteker for å fullføre oppgaven for deg.

Eksempel:
Filobjektet åpnes først. Neste trinn er å iterere over radene og elementene i radene og deretter skrive alle elementer til filen.

Output-fil:

For å opprette et CSV -filformat, legg til komma etter hvert element. Newline -tegnet “\ n” skal plasseres etter hver rad.

Konklusjon

I denne opplæringen så vi først introduksjonen til CSV og liste objekter i pandaer. Så diskuterte vi hvordan listen kan konverteres til en CSV -fil i Python. Vi forklarte fire metoder for å opprette en CSV -fil fra en liste eller liste over lister. I den første metoden brukte vi CSV -modulen. I den andre metoden brukte vi Pandas -modulen for å konvertere listen til en DataFrame og deretter til CSV. I den tredje metoden brukte vi Savetext () og Tofile () -funksjonene til Numpy -modulen. I den siste metoden implementerte vi et eksempel for å lage CSV fra et listeobjekt uten å importere en modul.