XLSX a CSV en Python

XLSX a CSV en Python
En los últimos años, Python ha aumentado como uno de los lenguajes de programación dominantes. La comunidad de Python se ha expandido significativamente como resultado de la popularidad y utilidad de Python. Entraremos en detalles en este artículo sobre cómo usar Python para convertir XLSX en CSV. Somos conscientes de que los archivos de Excel se usan con frecuencia para realizar análisis financieros, organizar los datos, la entrada de datos, la contabilidad, la gestión de datos, la creación de gráficos y gráficos, etc. Sin embargo, preferimos utilizar archivos CSV para la importación y exportación de datos. Es un enfoque es transferir los datos estructurados utilizando un archivo de texto sin formato.

¿Qué es un archivo XSLX??

Al hacer hojas de cálculo en las últimas versiones de Excel, Microsoft usa un archivo XLSX como tipo de archivo predeterminado. Similar al tipo de archivo DOCX de Word, podemos abrir los archivos XLSX utilizando una variedad de aplicaciones/programas.

¿Qué es un archivo CSV??

El formato de archivo CSV es lo que podemos usar para almacenar los valores de datos tabulares en hojas de cálculo y bases de datos. Los datos tabulares, el texto o el texto se almacenan como texto sin formato en un archivo CSV. Un registro en el archivo CSV es el valor de datos almacenado en cada fila del archivo. Cada registro puede tener más de un campo separado por comas.

Diferencias clave entre los archivos XLSX y CSV

Los usuarios a menudo usan CSV y XLSX indistintamente, y generalmente desconocen las distinciones entre ellos, cuáles son sus características fundamentales y cómo funcionan. Solo sirve como fuente de información para el usuario. Casi todos los usos comerciales y corporativos tanto para ayudar a los usuarios a administrar, actualizar y almacenar los datos para el usuario. Las siguientes son algunas diferencias clave entre los archivos XLSX y CSV que debe saber:

  • El formato CSV guarda datos tabulares en un archivo de texto delimitador con el .extensión CSV. Mientras que el archivo Excel o XLSX es una hoja de cálculo que almacena archivos en su formato de propiedad, a saber. XLS o XLSX.
  • Los archivos de Excel son archivos binarios que contienen los datos en cada hoja de trabajo en un libro de trabajo. Mientras que el CSV es un formato de texto simple y simple con una secuencia de valores de datos separados por comas.
  • Las operaciones de datos no se pueden llevar a cabo en archivos CSV. Sin embargo, se pueden llevar a cabo en archivos de Excel.
  • Los archivos CSV son más rápidos y usan menos memoria que los archivos XLSX. Sin embargo, Excel usa más memoria al importar los datos.
  • Si comparamos CSV con Excel, podemos abrir los archivos CSV en cualquier editor de texto de Windows mientras que los archivos de Excel no pueden.

¿Cómo se puede convertir un archivo XLSX a CSV usando Python?

Un archivo XLSX se puede transformar en un archivo CSV en Python utilizando una variedad de métodos. Python incluye una variedad de módulos y funciones que pueden ayudarnos a realizar esta tarea. Aquí, pasaremos por un par de métodos que se pueden usar para convertir los archivos XLSX en archivos CSV en Python.

Prerrequisitos para realizar la conversión de Excel a CSV

Instalar los requisitos es el primer paso. Usamos los módulos como combinar pandas, CSV y OpenPyxl, etc. En este tutorial. El paquete Pandas de Python permite la manipulación y análisis de datos. Pandas es una biblioteca bien conocida entre los programadores de Python. Los archivos de Excel se pueden leer y escribir utilizando el paquete Python conocido como OpenPyxl. No lidiaremos directamente con esta biblioteca. Pandas en su lugar utiliza OpenPyxl internamente.

Usando el repositorio PYPI, podemos instalar ambos paquetes:

Método 1: Convertir XLSX a CSV usando el módulo pandas

Ejemplo 1: Convertir un archivo XLSX a CSV

Pandas es un módulo de código abierto creado para el lenguaje de programación de Python para manipular y analizar los datos. Para trabajar con series de tiempo y tablas numéricas, Pandas proporciona una variedad de funcionalidades y características. Usando pandas, se pueden leer, filtrar y reorganizar conjuntos de datos pequeños y enormes. Y los resultados se pueden producir en una variedad de formatos como Excel, JSON y CSV. Utilizamos el método read_excel () de los pandas para leer un archivo de Excel, y el método To_csv () para transformar DataFrame en un archivo CSV.

Imprimimos nuestro .El archivo CSV como un marco de datos como se puede ver en la salida. El script anterior convierte nuestro archivo XLSX en CSV y crea un "salario.archivo csv "en el directorio actual.

Ejemplo 2: Convertir el archivo XLSX (con múltiples hojas) a CSV

En el ejemplo que sigue, primero leemos los nombres de las hojas del archivo de Excel. Los nombres de las hojas individuales se recorren y se guardan como archivos CSV distintos. El script guarda CSV en la misma ubicación.

Usamos un archivo de muestra XLSX que tiene dos o más hojas de trabajo o hojas de cálculo.

Como se puede ver, nuestro archivo XLSX consta de dos hojas (Sheet1 y Sheet2). Ahora, escribimos un código para convertir este archivo XLSX en CSV.

Producción:

El script convirtió con éxito el archivo XLSX con dos hojas en un solo archivo CSV con una sola hoja.

Ejemplo 3: Convertir múltiples archivos XLSX en archivos CSV separados

Considere un escenario en el que debe convertir varios archivos de Excel en su directorio de trabajo en CSV. Podrías emplear este método. Comenzamos suponiendo que cada archivo solo contiene una hoja. Luego, ampliamos nuestro método para manejar múltiples archivos y varias hojas. El código de Python que sigue hace uso del módulo estándar de Glob. Hacemos que coincidamos con las rutas de archivo usando patrones con globa. Coincide con todos los archivos con el .Extensión XLSX en el directorio de trabajo. Después de eso, desarrollamos una función que lee los archivos de Excel y los guarde como archivos CSV. Llamamos a esta función en cada ruta de archivo que se encuentra.

Este script anterior convierte todos los archivos XLSX en el directorio actual en archivos CSV.

Ahora, convertimos los archivos XLSX con múltiples hojas de cálculo en CSV. Es muy probable que sea la parte difícil. Tres archivos de Excel están en nuestro directorio de trabajo. Además, algunos de ellos consisten en más de una hoja. Apuntamos a:

  1. Cree un directorio para cada archivo de hoja de cálculo,
  2. Convierta las hojas de archivos de Excel a CSV y deben mantenerse en el directorio recién creado.

El script convierte el XLSX con hojas individuales y múltiples en archivos CSV separados y guardalas en nuevos directorios con el mismo nombre.

Para recuperar todos los archivos de Excel ubicado en el directorio actual, se utiliza la función del globo. Después de eso, se crean carpetas para cada archivo XLSX utilizando el sistema operativo.función mkdir. Luego se crea un archivo CSV para cada hoja dentro del nuevo directorio al pasar el nombre de la hoja.

Método 2: Convertir XLSX a CSV usando módulos OpenPyXL y CSV

En este método, utilizaremos los módulos OpenPyXL y CSV para convertir los archivos XLSX en CSV. Para leer y escribir los archivos XLSX, XLSM, XLTX y XLTM 2010, se puede usar el módulo Python OpenPyxl. El módulo CSV incluye clases que permiten la lectura y la redacción de datos tabulares formatados en CSV.

Para leer o cargar nuestro archivo XLSX, usamos la función Load_WorkBook () del módulo OpenPyxl. Puede usar esta función si necesita escribir o leer un archivo XLSX/Excel existente en Python. Después de la activación de Excel, usamos el CSV.escritor () función para crear nuestro archivo CSV. Luego, el for-loop se usa para almacenar los datos en las celdas de datos del archivo CSV. Convertimos nuestro ejemplo.archivo xlsx en myfile.CSV como se ve en la siguiente imagen:

Conclusión

En este tutorial, le dimos una breve introducción a los archivos XLSX y los archivos CSV. Explicamos las diferencias clave entre ambos formatos de archivo. Discutimos dos métodos con múltiples ejemplos para enseñar cómo los archivos XLSX con hojas simples o múltiples se pueden convertir en archivos CSV. Implementamos un ejemplo para convertir múltiples archivos XLSX en archivos CSV simultáneamente. Puede ser simple o difícil convertir los datos de Excel a CSV. Si solo tiene un archivo con un pequeño número de hojas, es simple. Pero si no, puede ser difícil.