Cómo combinar archivos CSV en Python

Cómo combinar archivos CSV en Python

A veces, el conjunto de datos dado no está en un solo archivo CSV. Todos están en diferentes hojas de Excel. Ya sabe que es preferible realizar todas las actividades computacionales o de preprocesamiento en un solo conjunto de datos en lugar de varios conjuntos de datos. Reduce o ahorra el tiempo que necesitamos gastar en tareas de preprocesamiento. Además, como analista de datos o científico de datos, con frecuencia puede encontrarse sobrecargado por numerosos archivos CSV que deben fusionarse antes de comenzar su análisis o examen de los datos disponibles. Por otro lado, no siempre es posible que todos los archivos se obtengan de la fuente de datos única o misma y tengan los mismos nombres de columna/variables y estructura de datos. Esta publicación le enseñará a combinar dos o más archivos CSV con una estructura de columna similar o diferente.

Por qué combinar archivos CSV?

Un conjunto de datos puede ser una colección o grupo de valores o números relacionados con un tema específico. Por ejemplo, los resultados de la prueba de cada estudiante en una determinada clase son un ejemplo de un conjunto de datos. Debido al tamaño de grandes conjuntos de datos, a menudo se almacenan en archivos CSV separados para diferentes categorías. Por ejemplo, si estamos obligados a examinar a un paciente para una enfermedad específica, debemos considerar cada componente, incluido su sexo, registro médico, edad, gravedad de la enfermedad, etc. En consecuencia, se requiere combinar datos de CSV para examinar varios aspectos de influencia de predictor. Además, es mejor trabajar y administrar un solo conjunto de datos en lugar de varios conjuntos de datos mientras realiza las tareas de cálculo o preprocesamiento. Ahorra memoria y otros recursos computacionales

Cómo combinar archivos CSV en Python?

Hay múltiples formas y métodos para combinar dos o más archivos CSV en Python. En la sección a continuación, usaremos funciones append (), concat () y fusionadas (), etc., Para combinar archivos CSV en Pandas DataFrame, luego DataFrames se convertirá en un solo archivo CSV. Enseñaremos cómo combinar múltiples archivos CSV con una estructura de columna similar o variable.

Método # 1: Combinando CSV con estructuras o columnas similares

Nuestro directorio de trabajo actual tiene dos archivos CSV, "Test1" y "Test2".

Ejemplo # 1: Uso de la función append ()

Ambos archivos CSV son de la misma estructura. La función Glob () se utilizará en este método para enumerar solo los archivos CSV en el directorio de trabajo. Entonces usaremos "Pandas.Marco de datos.append () "para leer nuestros archivos CSV (con una estructura de tabla común).

Producción:

Usando la función de anexo, hemos agregado o agregado cada fila de datos de test2.CSV bajo las filas de datos de Test1.CSV, como se puede ver que todas las filas de datos del archivo se han combinado. Para convertir este marco de datos en CSV, podemos usar la función TO_CSV ().

Esto creará un archivo CSV combinado de archivos CSV de 'test1' y 'test2' en nuestro directorio de trabajo con el nombre especificado, I.mi., fusionado.CSV.

Ejemplo # 2: Uso de la función concat ()

Primero importaremos el módulo pandas. El método del mapa leerá cada archivo CSV que hemos pasado usando PD.read_csv (). Estos archivos asignados (archivos CSV) se combinarán a lo largo del eje de fila de forma predeterminada usando la función PD.concat (). Si queremos combinar archivos CSV horizontalmente, podemos pasar el eje = 1. Especificar el índice Ignore = True también crea valores de índice continuo para el marco de datos combinado.

El PD.read_csv () se pasa dentro de la función concat () para leer los archivos CSV en el marco de datos PANDAS después de la concatenación.

Hemos obtenido un marco de datos con datos combinados de todos los archivos CSV en el directorio de trabajo. Ahora, convámlolo en un archivo CSV.

Nuestro CSV combinado se crea en el directorio actual.

Método # 2: Combinando CSV con diferentes estructuras o columnas

Discutimos combinar archivos CSV con las mismas columnas y estructura en el primer método. En este método, combinaremos archivos CSV con diferentes columnas y estructuras.

Ejemplo # 1: Uso de la función fusion ()

Los "pandas.La función de fusión () "en el módulo pandas puede combinar dos archivos CSV. Fusionar simplemente se refiere a la combinación de dos conjuntos de datos en un solo conjunto de datos basado en columnas o atributos compartidos.

Podemos fusionar los marcos de datos en cuatro formas diferentes de unirse:

  • Interno
  • Bien
  • Izquierda
  • Exterior

Para realizar este tipo de fusiones, usaremos dos archivos CSV.

Tenga en cuenta que al menos un atributo o columna debe ser compartido por ambos archivos CSV. Como se observó, el "nombre" de la columna y algunos de sus atributos son compartidos por ambos archivos CSV.

Fusionarse usando unión interior

El parámetro de especificación de cómo = "interno" en la función fusion () combinará los dos marcos de datos de acuerdo con la columna especificada y luego proporcionará un nuevo marco de datos que solo contiene las filas con valores idénticos/mismos en ambos marcos de datos originales.

Como se puede ver, la función ha fusionado ambos archivos CSV y ha devuelto las filas en función de los atributos comunes del 'nombre' de la columna '.

Fusionarse usando la unión exterior derecha

Cuando se especifica el parámetro cómo = "correcto", ambos marcos de datos se combinarán en función de la columna que especificamos para el parámetro 'en'. Y se devolverá un nuevo marco de datos que contenga todas las filas desde el marco de datos correcto, incluidas las filas para las cuales el marco de datos izquierdo contiene valores, con el valor de la columna de DataFrame de izquierda establecido en NAN.

Fusionarse usando la unión externa izquierda

Cuando se especifica cómo se especifica el parámetro como 'izquierda', los dos marcos de datos se combinarán en función de la columna especificada utilizando el parámetro 'ON', devolviendo un nuevo marco de datos que tiene todas las filas del marco de datos izquierdo, así como cualquier fila que tenga NAN o valores nulos en el correcto DataFrame y establece el valor de la columna DataFrame de datos correcto en NAN.

Fusionarse usando una unión externa completa

Cuando se especifica cómo = "externo", los dos marcos de datos se combinarán dependiendo de la columna especificada para el parámetro 'ON', devolviendo un nuevo marco de datos que contiene las filas de DF1 y DF2 DataFrames y configuración de NAN como valor para cualquier fila de filas para el cual los datos están ausentes en uno de los marcos de datos.

Ejemplo # 2: Combinando todos los archivos CSV en el directorio de trabajo

En este método, utilizaremos el módulo global para combinar todo .Archivos CSV en un Pandas DataFrame. Todas las bibliotecas tuvieron que importarse primero. A continuación, estableceremos una ruta para cada archivo CSV que queremos combinar. La ruta del archivo es el primer argumento para el sistema operativo.camino.función unión () en el siguiente ejemplo, y el segundo argumento son los componentes de la ruta o .archivos CSV a unir. Aquí, la expresión '*.CSV 'encontrará y devolverá cada archivo en el directorio de trabajo que termine con el .Extensión del archivo CSV. El globo.La función Glob (Archivos unidos) acepta una lista de los nombres de los archivos fusionados como una entrada y genera una lista de todos los archivos combinados/combinados.

Este script devolverá un marco de datos con datos combinados de todos los archivos CSV en nuestro directorio de trabajo.

Esta estructura de datos se transformará en un archivo CSV, y la función TO_CSV () se utilizará para esta conversión. Este nuevo archivo CSV serán los archivos CSV combinados creados a partir de todos los archivos CSV almacenados en el directorio de trabajo actual.

Conclusión

En esta publicación, discutimos por qué necesitamos combinar archivos CSV. Discutimos cómo se pueden combinar dos o más archivos CSV en Python. Dividimos este tutorial en dos secciones. En la primera sección, explicamos cómo usar funciones append () y concat () para combinar archivos CSV de la misma estructura o nombres de columnas. En la segunda sección, utilizamos el método de fusión (), OS.camino.unión () y método global para combinar archivos CSV de diferentes columnas y estructuras.