XLSX a CSV a Python

Xlsx A Csv A Python



En els últims anys, Python s'ha convertit en un dels llenguatges de programació dominants. La comunitat Python s'ha expandit significativament com a resultat de la popularitat i utilitat de Python. Entrarem en detalls en aquest article sobre com utilitzar Python per convertir XLSX a CSV. Som conscients que els fitxers Excel s'utilitzen sovint per realitzar anàlisis financeres, organitzar les dades, introduir dades, comptabilitzar, gestionar dades, crear gràfics i gràfics, etc. No obstant això, preferim utilitzar fitxers CSV per a la importació i exportació de dades. Un enfocament és transferir les dades estructurades mitjançant un fitxer de text senzill.

Què és un fitxer Xslx?

Quan feu fulls de càlcul a les últimes versions d'Excel, Microsoft utilitza un fitxer XLSX com a tipus de fitxer predeterminat. De manera similar al tipus de fitxer DOCX de Word, podem obrir els fitxers XLSX mitjançant una varietat d'aplicacions/programes.

Què és un fitxer CSV?

El format de fitxer CSV és el que podem utilitzar per emmagatzemar els valors de les dades tabulars en fulls de càlcul i bases de dades. Les dades tabulars, text o text, s'emmagatzemen com a text sense format en un fitxer CSV. Un registre al fitxer CSV és el valor de les dades emmagatzemats a cada fila del fitxer. Cada registre pot tenir més d'un camp separat per comes.







Diferències clau entre fitxers XLSX i CSV

Els usuaris sovint utilitzen CSV i XLSX de manera intercanviable i, en general, desconeixen les distincions entre ells, quines són les seves característiques fonamentals i com funcionen. Només serveix com a font d'informació per a l'usuari. Gairebé totes les empreses i corporacions utilitzen tots dos per ajudar els usuaris a gestionar, actualitzar i emmagatzemar les dades de l'usuari. A continuació es mostren algunes diferències clau entre els fitxers XLSX i CSV que hauríeu de conèixer:



  • El format CSV desa les dades tabulars en un fitxer de text delimitador amb l'extensió .csv. Mentre que, el fitxer excel o XLSX és un full de càlcul que emmagatzema fitxers en el seu format propietari, és a dir. xls o XLSX.
  • Els fitxers Excel són fitxers binaris que contenen les dades de cada full de treball d'un llibre de treball. Mentre que, CSV és un format de text senzill i senzill amb una seqüència de valors de dades separats per comes.
  • Les operacions de dades no es poden dur a terme en fitxers CSV. Tanmateix, es poden dur a terme en fitxers Excel.
  • Els fitxers CSV són més ràpids i utilitzen menys memòria que els fitxers XLSX. Tanmateix, Excel utilitza més memòria quan importa les dades.
  • Si comparem CSV amb Excel, podem obrir els fitxers CSV a qualsevol editor de text de Windows mentre que els fitxers Excel no.

Com es pot convertir un fitxer XLSX a CSV mitjançant Python?

Un fitxer XLSX es pot transformar en un fitxer CSV a Python mitjançant una varietat de mètodes. Python inclou una varietat de mòduls i funcions que ens poden ajudar a dur a terme aquesta tasca. Aquí, passarem per un parell de mètodes que es poden utilitzar per convertir els fitxers XLSX a fitxers CSV a Python.



Requisits previs per realitzar la conversió d'Excel a CSV

La instal·lació dels requisits és el primer pas. Utilitzem els mòduls com combinar Pandas, CSV i Openpyxl, etc. en aquest tutorial. El paquet Pandas de Python permet la manipulació i l'anàlisi de dades. Pandas és una biblioteca molt coneguda entre els programadors de Python. Els fitxers Excel es poden llegir i escriure mitjançant el paquet Python conegut com Openpyxl. No ens ocuparem directament d'aquesta biblioteca. En canvi, els pandas fan ús d'Openpyxl internament.





Mitjançant el repositori PyPI, podem instal·lar els dos paquets:

Mètode 1: convertir XLSX a CSV mitjançant el mòdul Pandas

Exemple 1: convertir un fitxer XLSX a CSV



Pandas és un mòdul de codi obert creat per al llenguatge de programació Python per manipular i analitzar les dades. Per treballar amb sèries temporals i taules numèriques, Pandas ofereix una varietat de funcionalitats i característiques. Amb pandes, es poden llegir, filtrar i reorganitzar conjunts de dades tant petits com grans. I els resultats es poden produir en diversos formats com Excel, JSON i CSV. Utilitzem el mètode read_excel() de Pandas per llegir un fitxer Excel i el mètode to_csv() per transformar el DataFrame en un fitxer CSV.

Imprimim el nostre fitxer .csv com a DataFrame com es pot veure a la sortida. L'script anterior converteix el nostre fitxer XLSX en CSV i crea un fitxer 'salary.csv' al directori actual.

Exemple 2: convertir un fitxer XLSX (amb diversos fulls) a CSV

A l'exemple següent, primer llegim els noms dels fulls del fitxer Excel. Els noms dels fulls individuals es recorren i es desen com a fitxers CSV diferents. L'script desa els CSV a la mateixa ubicació.

Utilitzem un fitxer XLSX de mostra amb dos o més fulls de treball o fulls de càlcul.

Com es pot veure, el nostre fitxer XLSX consta de dos fulls (sheet1 i sheet2). Ara, escrivim un codi per convertir aquest fitxer XLSX a CSV.

Sortida:

L'script va convertir correctament el fitxer XLSX amb dos fulls en un sol fitxer CSV amb un sol full.

Exemple 3: conversió de diversos fitxers XLSX en fitxers CSV separats

Penseu en un escenari en què necessiteu convertir diversos fitxers d'Excel del vostre directori de treball a CSV. Podeu utilitzar aquest mètode. Comencem suposant que cada fitxer només conté un full. A continuació, ampliem el nostre mètode per gestionar diversos fitxers i diversos fulls. El codi Python que segueix fa ús del mòdul estàndard glob. Fem coincidir els camins dels fitxers mitjançant patrons amb Glob. Coincideix amb tots els fitxers amb l'extensió .xlsx al directori de treball. Després d'això, desenvolupem una funció que llegeix els fitxers Excel i els desa com a fitxers CSV. Anomenem aquesta funció a cada ruta de fitxer que es trobi.

Aquest script anterior converteix tots els fitxers xlsx del directori actual en fitxers CSV.

Ara, convertim els fitxers XLSX amb diversos fulls de càlcul a CSV. Aquesta és probablement la part difícil. Tres fitxers Excel es troben al nostre directori de treball. A més, alguns d'ells estan formats per més d'un full. Pretenem:

  1. Creeu un directori per a cada fitxer de full de càlcul,
  2. Converteix els fulls de fitxers Excel a CSV i s'han de guardar al directori acabat de crear.

L'script converteix el XLSX amb fulls únics i múltiples en fitxers CSV separats i els emmagatzema en directoris nous amb el mateix nom.

Per recuperar tots els fitxers d'Excel que es troben al directori actual, s'utilitza la funció glob. Després d'això, es creen carpetes per a cada fitxer XLSX mitjançant la funció os.mkdir. A continuació, es crea un fitxer CSV per a cada full dins del nou directori fent un bucle sobre el nom del full.

Mètode 2: convertir XLSX a CSV mitjançant mòduls Openpyxl i CSV

En aquest mètode, utilitzarem els mòduls openpyxl i CSV per convertir els fitxers XLSX a CSV. Per llegir i escriure fitxers 2010 xlsx, xlsm, xltx i xltm, es pot utilitzar el mòdul de Python openpyxl. El mòdul CSV inclou classes que permeten llegir i escriure dades tabulars amb format CSV.

Per llegir o carregar el nostre fitxer xlsx, utilitzem la funció load_workbook() del mòdul openpyxl. Podeu utilitzar aquesta funció si necessiteu escriure o llegir un fitxer XLSX/Excel existent a Python. Després de l'activació d'excel, utilitzem la funció csv.writer() per crear el nostre fitxer CSV. A continuació, el bucle for s'utilitza per emmagatzemar les dades a les cel·les de dades del fitxer CSV. Convertim el nostre fitxer example.xlsx a myfile.csv tal com es veu a la imatge següent:

Conclusió

En aquest tutorial, us hem donat una breu introducció als fitxers XLSX i als fitxers CSV. Hem explicat les diferències clau entre ambdós formats de fitxer. Hem comentat dos mètodes amb diversos exemples per ensenyar com es poden convertir els fitxers XLSX amb un o diversos fulls en fitxers CSV. Hem implementat un exemple per convertir diversos fitxers XLSX en fitxers CSV simultàniament. Pot ser senzill o difícil convertir les dades d'Excel a CSV. Si només teniu un fitxer amb un nombre reduït de fulls, és senzill. Però si no, pot ser difícil.