XLSX naar CSV in Python

Xlsx Naar Csv In Python



De afgelopen jaren is Python uitgegroeid tot een van de dominante programmeertalen. De Python-gemeenschap is aanzienlijk uitgebreid als gevolg van de populariteit en het nut van Python. In dit artikel gaan we in detail in op het gebruik van Python om XLSX naar CSV te converteren. We zijn ons ervan bewust dat Excel-bestanden vaak worden gebruikt om financiële analyses uit te voeren, de gegevens te organiseren, gegevensinvoer, boekhouding, gegevensbeheer, grafieken en diagrammen te maken, enz. We geven echter meestal de voorkeur aan CSV-bestanden voor het importeren en exporteren van gegevens. Een van de manieren is om de gestructureerde gegevens over te dragen met behulp van een gewoon tekstbestand.

Wat is een Xslx-bestand?

Bij het maken van spreadsheets in de nieuwste versies van Excel gebruikt Microsoft een XLSX-bestand als standaard bestandstype. Net als bij het DOCX-bestandstype van Word, kunnen we de XLSX-bestanden openen met behulp van verschillende toepassingen/programma's.

Wat is een CSV-bestand?

Het CSV-bestandsformaat is wat we kunnen gebruiken om de gegevenswaarden in tabelvorm op te slaan in spreadsheets en databases. De gegevens in tabelvorm, tekst of tekst, worden als platte tekst opgeslagen in een CSV-bestand. Een record in het CSV-bestand is de gegevenswaarde die is opgeslagen op elke rij van het bestand. Elke record kan meer dan één veld hebben dat wordt gescheiden door komma's.







Belangrijkste verschillen tussen XLSX- en CSV-bestanden

Gebruikers gebruiken CSV en XLSX vaak door elkaar en zijn zich over het algemeen niet bewust van de verschillen tussen beide, wat hun fundamentele kenmerken zijn en hoe ze werken. Het dient alleen als informatiebron voor de gebruiker. Bijna elk bedrijf en elk bedrijf gebruikt beide om de gebruikers te helpen bij het beheren, bijwerken en opslaan van de gegevens voor de gebruiker. Hier volgen enkele belangrijke verschillen tussen XLSX- en CSV-bestanden die u moet kennen:



  • De CSV-indeling slaat gegevens in tabelvorm op in een tekstbestand met scheidingstekens met de extensie .csv. Terwijl het Excel- of XLSX-bestand een spreadsheet is die bestanden opslaat in zijn eigen formaat, namelijk. xls of XLSX.
  • Excel-bestanden zijn binaire bestanden die de gegevens op elk werkblad in een werkmap bevatten. Terwijl CSV een eenvoudige en eenvoudige tekstindeling is met een reeks gegevenswaarden gescheiden door komma's.
  • Gegevensbewerkingen kunnen niet worden uitgevoerd op CSV-bestanden. Ze kunnen echter worden uitgevoerd op Excel-bestanden.
  • CSV-bestanden zijn sneller en gebruiken minder geheugen dan XLSX-bestanden. Excel gebruikt echter meer geheugen bij het importeren van de gegevens.
  • Als we CSV met Excel vergelijken, kunnen we de CSV-bestanden in elke Windows-teksteditor openen, terwijl Excel-bestanden dat niet kunnen.

Hoe kan een XLSX-bestand met Python naar CSV worden geconverteerd?

Een XLSX-bestand kan op verschillende manieren worden omgezet in een CSV-bestand in Python. Python bevat een verscheidenheid aan modules en functies die ons kunnen helpen deze taak te volbrengen. Hier zullen we een aantal methoden doornemen die kunnen worden gebruikt om de XLSX-bestanden naar CSV-bestanden in Python te converteren.



Vereisten om de conversie van Excel naar CSV uit te voeren

Het installeren van de vereisten is de eerste stap. We gebruiken de modules zoals Panda's, CSV en Openpyxl combineren, enz. In deze zelfstudie. Het Pandas-pakket van Python maakt de manipulatie en analyse van gegevens mogelijk. Pandas is een bekende bibliotheek onder Python-programmeurs. Excel-bestanden kunnen worden gelezen en geschreven met behulp van het Python-pakket dat bekend staat als Openpyxl. We zullen niet rechtstreeks met deze bibliotheek te maken hebben. Panda's maken in plaats daarvan intern gebruik van Openpyxl.





Met behulp van de PyPI-repository kunnen we beide pakketten installeren:

Methode 1: XLSX converteren naar CSV met behulp van de Pandas-module

Voorbeeld 1: één XLSX-bestand converteren naar CSV



Pandas is een open-source module die is gemaakt voor de programmeertaal Python om de gegevens te manipuleren en te analyseren. Om met tijdreeksen en numerieke tabellen te werken, biedt Pandas een verscheidenheid aan functionaliteit en functies. Met behulp van panda's kunnen zowel kleine als grote datasets worden gelezen, gefilterd en herschikt. En de resultaten kunnen in verschillende formaten worden geproduceerd, zoals Excel, JSON en CSV. We gebruiken de methode read_excel() van Pandas om een ​​Excel-bestand te lezen en de methode to_csv() om het DataFrame om te zetten in een CSV-bestand.

We printen ons .csv-bestand als een DataFrame zoals te zien is in de uitvoer. Het vorige script converteert ons XLSX-bestand naar CSV en maakt een bestand 'salary.csv' aan in de huidige map.

Voorbeeld 2: XLSX-bestand (met meerdere bladen) converteren naar CSV

In onderstaand voorbeeld lezen we eerst de bladnamen van het Excel-bestand. De namen van afzonderlijke bladen worden vervolgens doorgelust en opgeslagen als afzonderlijke CSV-bestanden. Het script slaat CSV's op dezelfde locatie op.

We gebruiken een voorbeeld van een XLSX-bestand met twee of meer werkbladen of spreadsheets.

Zoals te zien is, bestaat ons XLSX-bestand uit twee bladen (blad1 en blad2). Nu schrijven we een code om dit XLSX-bestand naar CSV te converteren.

Uitgang:

Het script heeft het XLSX-bestand met twee bladen met succes geconverteerd naar een enkel CSV-bestand met een enkel blad.

Voorbeeld 3: meerdere XLSX-bestanden converteren naar afzonderlijke CSV-bestanden

Overweeg een scenario waarin u verschillende Excel-bestanden in uw werkdirectory naar CSV moet converteren. Je zou deze methode kunnen gebruiken. We gaan ervan uit dat elk bestand slechts één blad bevat. Vervolgens breiden we onze methode uit om meerdere bestanden en meerdere bladen te verwerken. De volgende Python-code maakt gebruik van de glob-standaardmodule. We matchen de bestandspaden met behulp van patronen met Glob. Het komt overeen met alle bestanden met de extensie .xlsx in de werkmap. Daarna ontwikkelen we een functie die de Excel-bestanden inleest en opslaat als CSV-bestanden. We noemen deze functie op elk gevonden bestandspad.

Dit vorige script converteert alle xlsx-bestanden in de huidige map naar CSV-bestanden.

Nu converteren we de XLSX-bestanden met meerdere spreadsheets naar CSV. Dit is waarschijnlijk het moeilijke gedeelte. Drie Excel-bestanden staan ​​in onze werkdirectory. Sommige bestaan ​​​​ook uit meer dan één blad. Wij streven ernaar om:

  1. Maak een map voor elk spreadsheetbestand,
  2. Converteer de Excel-bestandsbladen naar CSV en ze moeten in de nieuw gemaakte map worden bewaard.

Het script converteert de XLSX met enkele en meerdere bladen naar afzonderlijke CSV-bestanden en slaat ze op in nieuwe mappen met dezelfde naam.

Om elk Excel-bestand in de huidige map op te halen, wordt de glob-functie gebruikt. Daarna worden er mappen gemaakt voor elk XLSX-bestand met behulp van de os.mkdir-functie. Er wordt vervolgens een CSV-bestand gemaakt voor elk blad in de nieuwe map door de naam van het blad in een lus te plaatsen.

Methode 2: XLSX converteren naar CSV met behulp van Openpyxl- en CSV-modules

Bij deze methode zullen we de openpyxl- en CSV-modules gebruiken om de XLSX-bestanden naar CSV te converteren. Om xlsx-, xlsm-, xltx- en xltm-bestanden uit 2010 te lezen en te schrijven, kan de Python-module openpyxl worden gebruikt. De CSV-module bevat klassen die het lezen en schrijven van tabelgegevens in CSV-indeling mogelijk maken.

Om ons xlsx-bestand te lezen of te laden, gebruiken we de functie load_workbook() van de openpyxl-module. U kunt deze functie gebruiken als u een bestaand XLSX/Excel-bestand in Python moet schrijven of lezen. Na de activering van Excel gebruiken we de functie csv.writer() om ons CSV-bestand te maken. Vervolgens wordt de for-lus gebruikt om de gegevens op te slaan in de gegevenscellen van het CSV-bestand. We converteren ons voorbeeld.xlsx-bestand naar mijnbestand.csv zoals te zien is in de volgende afbeelding:

Conclusie

In deze zelfstudie hebben we u een korte introductie gegeven van XLSX-bestanden en CSV-bestanden. We hebben de belangrijkste verschillen tussen beide bestandsindelingen uitgelegd. We hebben twee methoden met meerdere voorbeelden besproken om te leren hoe de XLSX-bestanden met enkele of meerdere bladen kunnen worden geconverteerd naar CSV-bestanden. We hebben een voorbeeld geïmplementeerd om meerdere XLSX-bestanden tegelijkertijd naar CSV-bestanden te converteren. Het kan eenvoudig of moeilijk zijn om de gegevens van Excel naar CSV te converteren. Als je maar één map hebt met een klein aantal bladen, is het eenvoudig. Maar zo niet, dan kan het moeilijk zijn.