XLSX til CSV i Python

Xlsx Til Csv I Python



I de senere år er Python steget som et af de dominerende programmeringssprog. Python-fællesskabet er udvidet betydeligt som følge af Pythons popularitet og anvendelighed. Vi vil gå i detaljer i denne artikel om, hvordan du bruger Python til at konvertere XLSX til CSV. Vi er opmærksomme på, at excel-filer hyppigt bruges til at udføre økonomiske analyser, organisere data, indtastning af data, regnskab, datastyring, oprette diagrammer og grafer osv. Vi foretrækker dog for det meste at bruge CSV-filer til dataimport og -eksport. Det er en tilgang er at overføre de strukturerede data ved hjælp af en almindelig tekstfil.

Hvad er en Xslx-fil?

Når du laver regneark i de nyeste versioner af Excel, bruger Microsoft en XLSX-fil som standardfiltype. I lighed med Words DOCX-filtype kan vi åbne XLSX-filerne ved hjælp af en række applikationer/programmer.

Hvad er en CSV-fil?

CSV-filformatet er det, vi kan bruge til at gemme tabeldataværdierne i regneark og databaser. Tabeldataene, tekst eller tekst, gemmes som almindelig tekst i en CSV-fil. En post i CSV-filen er den dataværdi, der er gemt på hver række i filen. Hver post kan have mere end ét felt, der er adskilt af kommaer.







Nøgleforskelle mellem XLSX- og CSV-filer

Brugere bruger ofte CSV og XLSX i flæng, og de er generelt uvidende om forskellene mellem dem, hvad deres grundlæggende egenskaber er, og hvordan de fungerer. Det tjener kun som en informationskilde for brugeren. Næsten alle virksomheder og virksomheder bruger begge til at hjælpe brugerne med at administrere, opdatere og gemme data for brugeren. Følgende er nogle vigtige forskelle mellem XLSX- og CSV-filer, som du bør kende:



  • CSV-formatet gemmer tabeldata i en afgrænsende tekstfil med filtypenavnet .csv. Hvorimod excel- eller XLSX-fil er et regneark, der gemmer filer i dets proprietære format, dvs. xls eller XLSX.
  • Excel-filer er binære filer, der indeholder dataene på hvert regneark i en projektmappe. Hvorimod CSV er et almindeligt og enkelt tekstformat med en sekvens af dataværdier adskilt af kommaer.
  • Datahandlinger kan ikke udføres på CSV-filer. De kan dog udføres på Excel-filer.
  • CSV-filer er hurtigere og bruger mindre hukommelse end XLSX-filer. Excel bruger dog mere hukommelse ved import af data.
  • Hvis vi sammenligner CSV med Excel, kan vi åbne CSV-filerne i enhver Windows-teksteditor, mens Excel-filer ikke kan.

Hvordan kan en XLSX-fil konverteres til CSV ved hjælp af Python?

En XLSX-fil kan transformeres til en CSV-fil i Python ved hjælp af en række forskellige metoder. Python indeholder en række moduler og funktioner, som kan hjælpe os med at udføre denne opgave. Her vil vi gennemgå et par metoder, der kan bruges til at konvertere XLSX-filerne til CSV-filer i Python.



Forudsætninger for at udføre konverteringen fra Excel til CSV

Installation af kravene er det første skridt. Vi bruger moduler som combine Pandas, CSV og Openpyxl osv. i denne tutorial. Pythons Pandas-pakke giver mulighed for manipulation og analyse af data. Pandas er et velkendt bibliotek blandt Python-programmører. Excel-filer kan læses og skrives ved hjælp af Python-pakken kendt som Openpyxl. Vi vil ikke beskæftige os med dette bibliotek direkte. Pandaer gør i stedet brug af Openpyxl internt.





Ved at bruge PyPI-lageret kan vi installere begge pakker:

Metode 1: Konvertering af XLSX til CSV ved hjælp af Pandas-modulet

Eksempel 1: Konvertering af en XLSX-fil til CSV



Pandas er et open source-modul skabt til Python-programmeringssproget til at manipulere og analysere dataene. For at arbejde med tidsserier og numeriske tabeller tilbyder Pandas en række funktioner og funktioner. Ved hjælp af pandaer kan både små og store datasæt læses, filtreres og omarrangeres. Og resultaterne kan produceres i en række forskellige formater såsom Excel, JSON og CSV. Vi bruger Pandas' read_excel()-metode til at læse en excel-fil, og to_csv()-metoden til at transformere DataFrame til en CSV-fil.

Vi udskriver vores .csv-fil som en DataFrame, som det kan ses i outputtet. Det forrige script konverterer vores XLSX-fil til CSV og opretter en 'salary.csv'-fil i den aktuelle mappe.

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

I eksemplet, der følger, læser vi først Excel-filens arknavne. Navnene på individuelle ark føres derefter igennem og gemmes som særskilte CSV-filer. Scriptet gemmer CSV'er på samme placering.

Vi bruger en eksempel XLSX-fil med to eller flere regneark eller regneark.

Som det kan ses, består vores XLSX-fil af to ark (ark1 og ark2). Nu skriver vi en kode til at konvertere denne XLSX-fil til CSV.

Produktion:

Scriptet konverterede XLSX-filen med to ark til en enkelt CSV-fil med et enkelt ark.

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

Overvej et scenario, hvor du skal konvertere flere Excel-filer i din arbejdsmappe til CSV. Du kunne bruge denne metode. Vi starter med at antage, at hver fil kun indeholder ét ark. Derefter udvider vi vores metode til at håndtere flere filer og flere ark. Python-koden, der følger, gør brug af glob-standardmodulet. Vi matcher filstierne ved hjælp af mønstre med Glob. Det matcher alle filer med filtypenavnet .xlsx i arbejdsmappen. Derefter udvikler vi en funktion, der læser Excel-filerne og gemmer dem som CSV-filer. Vi kalder denne funktion på hver filsti, der findes.

Dette tidligere script konverterer alle xlsx-filerne i den aktuelle mappe til CSV-filer.

Nu konverterer vi XLSX-filerne med flere regneark til CSV. Dette er højst sandsynligt den svære del. Tre Excel-filer er i vores arbejdsmappe. Nogle af dem består også af mere end et ark. Vi sigter mod at:

  1. Opret en mappe for hver regnearksfil,
  2. Konverter excel-arkene til CSV, og de skal opbevares i den nyoprettede mappe.

Scriptet konverterer XLSX med enkelte og flere ark til separate CSV-filer og gemmer dem i nye mapper med samme navn.

For at hente hver Excel-fil, der er placeret i den aktuelle mappe, bruges glob-funktionen. Derefter oprettes mapper for hver XLSX-fil ved hjælp af os.mkdir-funktionen. Der oprettes derefter en CSV-fil for hvert ark inde i den nye mappe ved at gå over arknavnet.

Metode 2: Konvertering af XLSX til CSV ved hjælp af Openpyxl- og CSV-moduler

I denne metode vil vi bruge openpyxl- og CSV-modulerne til at konvertere XLSX-filerne til CSV. For at læse og skrive 2010 xlsx-, xlsm-, xltx- og xltm-filer kan Python-modulet openpyxl bruges. CSV-modulet indeholder klasser, der muliggør læsning og skrivning af CSV-formaterede tabeldata.

For at læse eller indlæse vores xlsx-fil bruger vi funktionen load_workbook() i openpyxl-modulet. Du kan bruge denne funktion, hvis du skal skrive eller læse en eksisterende XLSX/Excel-fil i Python. Efter aktiveringen af ​​excel bruger vi funktionen csv.writer() til at oprette vores CSV-fil. Derefter bruges for-løkken til at gemme dataene i datacellerne i CSV-filen. Vi konverterer vores eksempel.xlsx-fil til myfile.csv som vist på følgende billede:

Konklusion

I denne tutorial gav vi dig en kort introduktion til XLSX-filer og CSV-filer. Vi forklarede de vigtigste forskelle mellem begge filformater. Vi diskuterede to metoder med flere eksempler for at lære, hvordan XLSX-filer med enkelte eller flere ark kan konverteres til CSV-filer. Vi implementerede et eksempel for at konvertere flere XLSX-filer til CSV-filer samtidigt. Det kan være enkelt eller svært at konvertere data fra Excel til CSV. Hvis du kun har én fil med et lille antal ark, er det enkelt. Men hvis ikke, kan det være svært.