Saltar al contenido principal

Cómo combinar varios archivos en un solo archivo en Python

Cómo combinar varios archivos en un solo archivo en Python.

Aquí tienes un tutorial detallado paso a paso sobre cómo combinar varios archivos en un solo archivo en Python:

Paso 1: Importar los módulos necesarios

Para combinar varios archivos en un solo archivo, necesitaremos usar el módulo os para manejar archivos y el módulo shutil para operaciones de archivos. Importémoslos al comienzo de nuestro código:

import os
import shutil

Paso 2: Definir el directorio y la ruta de archivo

Especifica el directorio donde se encuentran los archivos que se van a combinar y la ruta del archivo de salida. Puedes modificar estas rutas según tus requisitos:

directorio = 'ruta/hacia/archivos/'
archivo_salida = 'ruta/hacia/salida/archivo_combinado.txt'

Paso 3: Obtener la lista de archivos a combinar

Usa la función os.listdir() para obtener la lista de archivos en el directorio especificado. Filtraremos cualquier subdirectorio y solo consideraremos archivos regulares para combinar:

lista_archivos = [f for f in os.listdir(directorio) if os.path.isfile(os.path.join(directorio, f))]

Paso 4: Abrir el archivo de salida en modo escritura

Crea un nuevo archivo con la ruta de archivo de salida especificada y ábrelo en modo escritura. Usaremos la función open() para hacer esto:

with open(archivo_salida, 'w') as archivo_salida:
# Combinar los archivos en el archivo de salida

Paso 5: Iterar a través de la lista de archivos y combinarlos

Dentro del bloque with, itera a través de la lista de archivos y lee su contenido. Agrega el contenido de cada archivo al archivo de salida:

    for nombre_archivo in lista_archivos:
ruta_archivo = os.path.join(directorio, nombre_archivo)
with open(ruta_archivo, 'r') as archivo_entrada:
contenido = archivo_entrada.read()
archivo_salida.write(contenido)

Paso 6: Opcional: agregar separadores entre los archivos combinados

Si deseas agregar separadores entre el contenido de cada archivo combinado, puedes usar la función archivo_salida.write() para escribir una cadena separadora después de que se combine cada archivo:

            archivo_salida.write('\n---\n')  # Agregar un separador después de cada archivo

Paso 7: Cerrar el archivo de salida

Después de combinar todos los archivos, no olvides cerrar el archivo de salida para asegurarte de que todos los cambios se guarden:

    archivo_salida.close()

Paso 8: Ejemplo de código completo

Aquí tienes el ejemplo de código completo que combina varios archivos en un solo archivo:

import os
import shutil

directorio = 'ruta/hacia/archivos/'
archivo_salida = 'ruta/hacia/salida/archivo_combinado.txt'

lista_archivos = [f for f in os.listdir(directorio) if os.path.isfile(os.path.join(directorio, f))]

with open(archivo_salida, 'w') as archivo_salida:
for nombre_archivo in lista_archivos:
ruta_archivo = os.path.join(directorio, nombre_archivo)
with open(ruta_archivo, 'r') as archivo_entrada:
contenido = archivo_entrada.read()
archivo_salida.write(contenido)
archivo_salida.write('\n---\n') # Opcional: agregar un separador después de cada archivo
archivo_salida.close()

¡Eso es todo! Has combinado con éxito varios archivos en un solo archivo usando Python. Solo asegúrate de reemplazar la ruta/hacia/archivos/ y ruta/hacia/salida/ con las rutas reales de tus archivos y el archivo de salida deseado.