XLSX til CSV i Python

XLSX til CSV i Python
De siste årene har Python økt som et av de dominerende programmeringsspråk. Python -samfunnet har utvidet seg betydelig som et resultat av Pythons popularitet og nytteverdi. Vi vil gå i detalj i denne artikkelen om hvordan du bruker Python for å konvertere XLSX til CSV. Vi er klar over at Excel -filer ofte brukes til å utføre økonomisk analyse, organisere data, datainnføring, regnskap, datahåndtering, lage diagrammer og grafer osv. Imidlertid foretrekker vi stort sett å bruke CSV -filer for dataimport og eksport. Det er en tilnærming er å overføre de strukturerte dataene ved hjelp av en vanlig tekstfil.

Hva er en XSLX -fil?

Når du lager regneark i de nyeste versjonene av Excel, bruker Microsoft en XLSX -fil som standard filtype. I likhet med Words Docx -filtype, kan vi åpne XLSX -filene ved hjelp av en rekke applikasjoner/programmer.

Hva er en CSV -fil?

CSV -filformatet er hva vi kan bruke til å lagre tabelldataverdiene i regneark og databaser. Tabelldata, tekst eller tekst, lagres som ren tekst i en CSV -fil. En post i CSV -filen er dataverdien som er lagret på hver rad i filen. Hver post kan ha mer enn ett felt som er atskilt med komma.

Viktige forskjeller mellom XLSX og CSV -filer

Brukere bruker ofte CSV og XLSX om hverandre, og de er generelt uvitende om skillene mellom dem, hva deres grunnleggende egenskaper er, og hvordan de fungerer. Det fungerer bare som en informasjonskilde for brukeren. Nesten alle virksomheter og bedrifter bruker både for å hjelpe brukerne med å administrere, oppdatere og lagre dataene for brukeren. Følgende er noen viktige forskjeller mellom XLSX og CSV -filer som du bør vite:

  • CSV -formatet lagrer tabelldata i en avgrensende tekstfil med .CSV -utvidelse. Mens Excel- eller XLSX -fil er et regneark som lagrer filer i sitt proprietære format, dvs. XLS eller XLSX.
  • Excel -filer er binære filer som inneholder dataene på hvert arbeidsark i en arbeidsbok. Mens CSV er et vanlig og enkelt tekstformat med en sekvens av dataverdier atskilt med komma.
  • Dataoperasjoner kan ikke utføres på CSV -filer. Imidlertid kan de utføres på Excel -filer.
  • CSV -filer er raskere og bruker mindre minne enn XLSX -filer. Imidlertid bruker Excel mer minne når du importerer dataene.
  • Hvis vi sammenligner CSV med Excel, kan vi åpne CSV -filene i en hvilken som helst Windows Text Editor mens Excel -filer ikke kan.

Hvordan kan en XLSX -fil konverteres til CSV ved hjelp av Python?

En XLSX -fil kan transformeres til en CSV -fil i Python ved hjelp av en rekke metoder. Python inkluderer en rekke moduler og funksjoner som kan hjelpe oss med å utføre denne oppgaven. Her vil vi gå gjennom et par metoder som kan brukes til å konvertere XLSX -filene til CSV -filer i Python.

Forutsetninger for å utføre Excel til CSV -konvertering

Å installere kravene er det første trinnet. Vi bruker modulene som Combine Pandas, CSV og OpenPyxl, etc. I denne opplæringen. Pythons Pandas -pakke gir mulighet for manipulering og analyse av data. Pandas er et kjent bibliotek blant Python-programmerere. Excel -filer kan leses og skrives ved hjelp av Python -pakken kjent som OpenPyxl. Vi vil ikke håndtere dette biblioteket direkte. Pandas bruker i stedet OpenPyxl internt.

Ved hjelp av PYPI -depotet kan vi installere begge pakkene:

Metode 1: Konvertere XLSX til CSV ved hjelp av Pandas -modulen

Eksempel 1: Konvertere en XLSX -fil til CSV

Pandas er en open source-modul laget for Python-programmeringsspråket for å manipulere og analysere dataene. For å jobbe med tidsserier og numeriske tabeller, gir Pandas en rekke funksjonaliteter og funksjoner. Ved hjelp av pandaer kan både små og enorme datasett leses, filtreres og omorganiseres. Og resultatene kan produseres i en rekke formater som Excel, JSON og CSV. Vi bruker LEAD_EXCEL () -metoden til Pandas for å lese en Excel -fil, og TO_CSV () -metoden for å transformere DataFrame til en CSV -fil.

Vi skriver ut vår .CSV -fil som en dataaframe som kan sees i utgangen. Det forrige skriptet konverterer vår XLSX -fil til CSV og oppretter en "lønn.CSV ”-fil i den gjeldende katalogen.

Eksempel 2: Konvertere XLSX -fil (med flere ark) til CSV

I eksemplet som følger, leste vi først excel -filens arknavn. Navnene på individuelle ark blir deretter loopet gjennom og lagres som distinkte CSV -filer. Skriptet lagrer CSV -er på samme sted.

Vi bruker en prøve XLSX -fil med to eller flere regneark eller regneark.

Som det kan sees, består vår XLSX -fil av to ark (Sheet1 og Sheet2). Nå skriver vi en kode for å konvertere denne XLSX -filen til CSV.

Produksjon:

Skriptet konverterte XLSX -filen med to ark til en enkelt CSV -fil med et enkelt ark.

Eksempel 3: Konvertere flere XLSX -filer til separate CSV -filer

Vurder et scenario der du trenger for å konvertere flere Excel -filer i arbeidskatalogen din til CSV. Du kan bruke denne metoden. Vi starter med å anta at hver fil bare inneholder ett ark. Deretter utvider vi metoden vår for å håndtere flere filer og flere ark. Python -koden som følger bruker glob -standardmodulen. Vi samsvarer med filstiene ved hjelp av mønstre med glob. Det samsvarer med alle filer med .XLSX -utvidelse i arbeidskatalogen. Etter det utvikler vi en funksjon som leser Excel -filene og lagrer dem som CSV -filer. Vi kaller denne funksjonen på hver filbane som er funnet.

Dette forrige skriptet konverterer alle XLSX -filene i gjeldende katalog til CSV -filer.

Nå konverterer vi XLSX -filene med flere regneark til CSV. Dette er mest sannsynlig den vanskelige delen. Tre Excel -filer er i arbeidskatalogen vår. Noen av dem består av mer enn ett ark. Vi tar sikte på å:

  1. Opprett en katalog for hver regnearkfil,
  2. Konverter Excel -filarkene til CSV, og de skal oppbevares i den nyopprettede katalogen.

Skriptet konverterer XLSX med enkelt- og flere ark til separate CSV -filer og lagrer dem i nye kataloger med samme navn.

For å hente hver Excel -fil som ligger i den gjeldende katalogen, brukes Glob -funksjonen. Etter det opprettes mapper for hver XLSX -fil ved hjelp av OS.mkdir -funksjon. En CSV -fil opprettes deretter for hvert ark i den nye katalogen ved å sløyfe over arketnavnet.

Metode 2: Konvertere XLSX til CSV ved bruk av OpenPyxL- og CSV -moduler

I denne metoden vil vi bruke OpenPyxL- og CSV -moduler for å konvertere XLSX -filene til CSV. For å lese og skrive 2010 XLSX, XLSM, XLTX og XLTM -filer, kan Python -modulen OpenPyxL brukes. CSV-modulen inkluderer klasser som muliggjør lesing og skriving av CSV-formaterte tabelldata.

For å lese eller laste vår XLSX -fil, bruker vi Load_Workbook () -funksjonen til OpenPyxL -modulen. Du kan bruke denne funksjonen hvis du trenger å skrive eller lese en eksisterende XLSX/Excel -fil i Python. Etter aktivering av Excel bruker vi CSV.skribent () funksjon for å opprette vår CSV -fil. Deretter brukes for-loopen til å lagre dataene i datacellene i CSV-filen. Vi konverterer eksemplet vårt.XLSX -fil til MyFile.CSV som sett i følgende bilde:

Konklusjon

I denne opplæringen ga vi deg en kort introduksjon til XLSX -filer og CSV -filer. Vi forklarte de viktigste forskjellene mellom begge filformatene. Vi diskuterte to metoder med flere eksempler for å lære hvordan XLSX -filene med enkelt eller flere ark kan konverteres til CSV -filer. Vi implementerte et eksempel for å konvertere flere XLSX -filer til CSV -filer samtidig. Det kan være enkelt eller vanskelig å konvertere dataene fra Excel til CSV. Hvis du bare har en fil med et lite antall ark, er det enkelt. Men hvis ikke, kan det være vanskelig.