XLSX til CSV i Python

Xlsx Til Csv I Python



De siste årene har Python steget som et av de dominerende programmeringsspråkene. Python-fellesskapet har utvidet seg betydelig som et resultat av Pythons popularitet og nytte. Vi vil gå i detalj i denne artikkelen om hvordan du bruker Python til å konvertere XLSX til CSV. Vi er klar over at excel-filer ofte brukes til å utføre økonomiske analyser, organisere dataene, dataregistrering, regnskap, databehandling, lage diagrammer og grafer, etc. 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 ren 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 å bruke en rekke applikasjoner/programmer.

Hva er en CSV-fil?

CSV-filformatet er det vi kan bruke til å lagre tabelldataverdiene i regneark og databaser. Tabelldataene, 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.







Nøkkelforskjeller mellom XLSX- og CSV-filer

Brukere bruker ofte CSV og XLSX om hverandre, og de er generelt ikke klar over forskjellene mellom dem, hva deres grunnleggende egenskaper er og hvordan de fungerer. Den fungerer kun som en informasjonskilde for brukeren. Nesten alle bedrifter og bedrifter bruker begge 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 avgrensningstekstfil med filtypen .csv. Mens excel- eller XLSX-fil er et regneark som lagrer filer i sitt proprietære format, nemlig. xls eller XLSX.
  • Excel-filer er binære filer som inneholder dataene på hvert regneark i en arbeidsbok. Mens CSV er et enkelt og enkelt tekstformat med en sekvens av dataverdier atskilt med komma.
  • Dataoperasjoner kan ikke utføres på CSV-filer. De kan imidlertid 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 et hvilket som helst Windows-tekstredigeringsprogram 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 konverteringen fra Excel til CSV

Installering av kravene er det første trinnet. Vi bruker moduler 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 velkjent bibliotek blant Python-programmerere. Excel-filer kan leses og skrives ved hjelp av Python-pakken kjent som Openpyxl. Vi kommer ikke til å forholde oss direkte til dette biblioteket. Pandaer bruker i stedet Openpyxl internt.





Ved å bruke PyPI-depotet kan vi installere begge pakkene:

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

Eksempel 1: Konvertering av én XLSX-fil til CSV



Pandas er en åpen kildekode-modul laget for programmeringsspråket Python for å manipulere og analysere dataene. For å jobbe med tidsserier og numeriske tabeller tilbyr Pandas en rekke funksjoner og funksjoner. Ved å bruke pandaer kan både små og store datasett leses, filtreres og omorganiseres. Og resultatene kan produseres i en rekke formater som Excel, JSON og CSV. Vi bruker read_excel()-metoden til Pandas for å lese en excel-fil, og to_csv()-metoden for å transformere DataFrame til en CSV-fil.

Vi skriver ut .csv-filen vår som en DataFrame som kan sees i utdataene. Det forrige skriptet konverterer XLSX-filen vår til CSV og lager en 'salary.csv'-fil i gjeldende katalog.

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

I eksemplet som følger, leser vi først Excel-filens arknavn. Navnene på individuelle ark blir deretter sløyfet gjennom og lagret som distinkte CSV-filer. Skriptet lagrer CSV-er på samme sted.

Vi bruker en eksempel XLSX-fil som har to eller flere regneark eller regneark.

Som du kan se, består XLSX-filen vår av to ark (ark1 og ark2). 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 ett enkelt ark.

Eksempel 3: Konvertering av flere XLSX-filer til separate CSV-filer

Tenk på et scenario der du trenger å konvertere flere Excel-filer i arbeidskatalogen til CSV. Du kan bruke denne metoden. Vi starter med å anta at hver fil kun inneholder ett ark. Deretter utvider vi metoden vår til å håndtere flere filer og flere ark. Python-koden som følger gjør bruk av glob-standardmodulen. Vi matcher filbanene ved hjelp av mønstre med Glob. Den samsvarer med alle filer med filtypen .xlsx 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 blir 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 også av mer enn ett ark. Vi har som mål å:

  1. Lag en katalog for hver regnearkfil,
  2. Konverter excel-filarkene til CSV, og de bør holdes 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 gjeldende katalog, brukes glob-funksjonen. Etter det opprettes mapper for hver XLSX-fil ved hjelp av os.mkdir-funksjonen. En CSV-fil opprettes deretter for hvert ark i den nye katalogen ved å gå over arknavnet.

Metode 2: Konvertering av XLSX til CSV ved hjelp av Openpyxl og CSV-moduler

I denne metoden vil vi bruke openpyxl- og CSV-modulene 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 gjør det mulig å lese og skrive CSV-formaterte tabelldata.

For å lese eller laste xlsx-filen vår 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 aktiveringen av excel bruker vi funksjonen csv.writer() for å lage vår CSV-fil. Deretter brukes for-løkken til å lagre dataene i datacellene til CSV-filen. Vi konverterer filen example.xlsx til myfile.csv som vist 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 én fil med et lite antall ark, er det enkelt. Men hvis ikke, kan det være vanskelig.