XLSX a CSV in Python

XLSX a CSV in Python
Negli ultimi anni, Python è aumentato come uno dei linguaggi di programmazione dominante. La comunità di Python si è notevolmente ampliata a seguito della popolarità e dell'utilità di Python. In questo articolo entreremo in dettaglio su come utilizzare Python per convertire XLSX in CSV. Siamo consapevoli del fatto che i file Excel sono spesso utilizzati per eseguire analisi finanziarie, organizzare i dati, l'inserimento dei dati, la contabilità, la gestione dei dati, la creazione di grafici e grafici, ecc. Tuttavia, preferiamo principalmente utilizzare i file CSV per l'importazione ed esportazione dei dati. Il suo approccio è trasferire i dati strutturati utilizzando un file di testo semplice.

Cos'è un file XSLX?

Quando si effettuano fogli di calcolo nelle ultime versioni di Excel, Microsoft utilizza un file XLSX come tipo di file predefinito. Simile al tipo di file DOCX di Word, possiamo aprire i file XLSX utilizzando una varietà di applicazioni/programmi.

Cos'è un file CSV?

Il formato del file CSV è ciò che possiamo utilizzare per archiviare i valori dei dati tabulari in fogli di calcolo e database. I dati tabulari, il testo o il testo, sono archiviati come testo semplice in un file CSV. Un record nel file CSV è il valore dei dati archiviato in ogni riga del file. Ogni record può avere più di un campo che è separato dalle virgole.

Differenze chiave tra i file XLSX e CSV

Gli utenti usano spesso CSV e XLSX in modo intercambiabile e sono generalmente inconsapevoli delle distinzioni tra loro, quali sono le loro caratteristiche fondamentali e come funzionano. Funge solo da fonte di informazioni per l'utente. Quasi ogni business e azienda utilizzano sia per aiutare gli utenti a gestire, aggiornare e archiviare i dati per l'utente. Di seguito sono riportate alcune differenze chiave tra i file XLSX e CSV che dovresti sapere:

  • Il formato CSV consente di risparmiare i dati tabulari in un file di testo delimitatore con il .Estensione CSV. Considerando che il file Excel o XLSX è un foglio di calcolo che memorizza i file nel suo formato proprietario, vale a dire. XLS o XLSX.
  • I file Excel sono file binari che contengono i dati su ogni foglio di lavoro in una cartella di lavoro. Considerando che CSV è un formato di testo semplice e semplice con una sequenza di valori di dati separati dalle virgole.
  • Le operazioni di dati non possono essere eseguite su file CSV. Tuttavia, possono essere eseguiti su file Excel.
  • I file CSV sono più veloci e utilizzano meno memoria dei file XLSX. Tuttavia, Excel utilizza più memoria durante l'importazione dei dati.
  • Se confrontiamo CSV con Excel, possiamo aprire i file CSV in qualsiasi editor di testo di Windows mentre i file Excel non possono.

Come può un file XLSX essere convertito in CSV usando Python?

Un file XLSX può essere trasformato in un file CSV in Python usando una varietà di metodi. Python include una varietà di moduli e funzioni che possono aiutarci a svolgere questo compito. Qui, passeremo attraverso un paio di metodi che possono essere utilizzati per convertire i file XLSX in file CSV in Python.

Prerequisiti per eseguire la conversione Excel a CSV

L'installazione dei requisiti è il primo passo. Usiamo i moduli come combinare panda, csv e openpyxl, ecc. In questo tutorial. Il pacchetto Pandas di Python consente la manipolazione e l'analisi dei dati. Panda è una biblioteca ben nota tra i programmatori di Python. I file Excel possono essere letti e scritti utilizzando il pacchetto Python noto come OpenPyxl. Non avremo a che fare direttamente con questa biblioteca. I panda invece fanno uso di openpyxl internamente.

Utilizzando il repository PYPI, possiamo installare entrambi i pacchetti:

Metodo 1: conversione di XLSX in CSV usando il modulo Pandas

Esempio 1: conversione di un file XLSX in CSV

Panda è un modulo open source creato per il linguaggio di programmazione Python per manipolare e analizzare i dati. Per funzionare con serie temporali e tabelle numeriche, Panda offre una varietà di funzionalità e caratteristiche. Usando i panda, sia piccoli che enormi set di dati possono essere letti, filtrati e riorganizzati. E i risultati possono essere prodotti in una varietà di formati come Excel, JSON e CSV. Utilizziamo il metodo read_excel () di Panda per leggere un file Excel e il metodo TO_CSV () per trasformare il frame dati in un file CSV.

Stampiamo il nostro .file csv come telaio di dati come si può vedere nell'output. Lo script precedente converte il nostro file XLSX in CSV e crea uno stipendio.File CSV "nella directory corrente.

Esempio 2: conversione del file XLSX (con più fogli) in CSV

Nell'esempio che segue, abbiamo letto per la prima volta i nomi dei fogli del file Excel. I nomi dei singoli fogli vengono quindi attraversati e salvati come file CSV distinti. Lo script salva i CSV nella stessa posizione.

Usiamo un file XLSX di esempio con due o più fogli di lavoro o fogli di calcolo.

Come si può vedere, il nostro file XLSX è costituito da due fogli (foglio1 e foglio2). Ora, scriviamo un codice per convertire questo file XLSX in CSV.

Produzione:

Lo script ha convertito correttamente il file XLSX con due fogli in un singolo file CSV con un singolo foglio.

Esempio 3: conversione di più file XLSX in file CSV separati

Prendi in considerazione uno scenario in cui è necessario convertire diversi file Excel nella directory di lavoro in CSV. Potresti utilizzare questo metodo. Iniziamo supponendo che ogni file contenga solo un foglio. Quindi, estendiamo il nostro metodo per gestire più file e diversi fogli. Il codice Python che segue utilizza il modulo standard glob. Abbiniamo i percorsi dei file usando i modelli con Glob. Corrisponde a tutti i file con .Estensione XLSX nella directory di lavoro. Successivamente, sviluppiamo una funzione che legge i file Excel e li salva come file CSV. Chiamiamo questa funzione su ciascun percorso del file che si trova.

Questo script precedente converte tutti i file XLSX nella directory corrente nei file CSV.

Ora, convertiamo i file XLSX con più fogli di calcolo in CSV. Questa è molto probabilmente la parte difficile. Tre file Excel sono nella nostra directory di lavoro. Inoltre, alcuni di loro sono costituiti da più di un foglio. Miriamo a:

  1. Crea una directory per ogni file di foglio di calcolo,
  2. Converti i fogli di file Excel in CSV e dovrebbero essere mantenuti nella directory appena creata.

Lo script converte XLSX con fogli singoli e multipli in file CSV separati e li memorizza in nuove directory con lo stesso nome.

Per recuperare ogni file Excel situato nella directory corrente, viene utilizzata la funzione Glob. Successivamente, le cartelle vengono create per ogni file XLSX utilizzando il sistema operativo.funzione mkdir. Un file CSV viene quindi creato per ciascun foglio all'interno della nuova directory facendo il giro del nome del foglio.

Metodo 2: conversione di XLSX in CSV usando moduli OpenPyXL e CSV

In questo metodo, useremo i moduli OpenPyxl e CSV per convertire i file XLSX in CSV. Per leggere e scrivere 2010 XLSX, XLSM, XLTX e XLTM File, è possibile utilizzare il modulo Python OpenPyxl. Il modulo CSV include classi che consentono la lettura e la scrittura di dati tabulari formattati da CSV.

Per leggere o caricare il nostro file XLSX, utilizziamo la funzione load_workbook () del modulo OpenPyxl. È possibile utilizzare questa funzione se è necessario scrivere o leggere un file XLSX/Excel esistente in Python. Dopo l'attivazione di Excel, usiamo il CSV.funzione writer () per creare il nostro file CSV. Quindi, il per loop viene utilizzato per archiviare i dati nelle celle di dati del file CSV. Convertiamo il nostro esempio.file xlsx in myfile.CSV come visto nella seguente immagine:

Conclusione

In questo tutorial, ti abbiamo dato una breve introduzione a file XLSX e file CSV. Abbiamo spiegato le differenze chiave tra i due formati di file. Abbiamo discusso di due metodi con più esempi per insegnare come i file XLSX con fogli singoli o multipli possono essere convertiti in file CSV. Abbiamo implementato un esempio per convertire più file XLSX in file CSV contemporaneamente. Può essere semplice o difficile convertire i dati da Excel in CSV. Se hai un solo file con un numero limitato di fogli, è semplice. Ma in caso contrario, può essere difficile.