Resumen

En el mundo de la gestión de datos, manejar archivos de Valores Separados por Comas (CSV) es un requisito común. Estos archivos son ampliamente utilizados para almacenar datos tabulares como hojas de cálculo o bases de datos debido a su simplicidad y fácil legibilidad. La capacidad de combinar y dividir archivos CSV programáticamente puede ahorrar tiempo y optimizar flujos de trabajo, especialmente cuando se trata de grandes volúmenes de datos.

Este artículo proporciona una guía paso a paso sobre cómo combinar y dividir archivos CSV utilizando la biblioteca GroupDocs.Merger for .NET.

Cómo combinar archivos CSV

Combinar múltiples archivos CSV en un solo documento puede simplificar significativamente el manejo de datos y la elaboración de informes. En C#, la biblioteca GroupDocs.Merger for .NET hace que este proceso sea sencillo y eficiente, eliminando la necesidad de manipulación manual de datos. A continuación se detallan los pasos clave para combinar archivos CSV usando C#:

  1. Cargar tu archivo CSV fuente: Crea una instancia de la clase Merger, pasando la ruta del primer archivo CSV como parámetro.
  2. Agregar archivos CSV adicionales: Utiliza el método Join para agregar otros archivos CSV que deseas combinar en el primer documento.
  3. Guardar el resultado combinado: Llama al método Save para escribir los datos combinados en un nuevo archivo CSV.

Aquí tienes un ejemplo que ilustra estos pasos:

// Importar los espacios de nombres necesarios
using System;
using System.IO;

namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    /// <summary>
    /// Este ejemplo demuestra cómo combinar múltiples archivos CSV en un solo archivo.
    /// </summary>
    internal static class MergeCsv
    {
        public static void Run()
        {
            Console.WriteLine("=======================================================================");
            Console.WriteLine("Ejemplo de Uso Básico: MergeCsv");
            Console.WriteLine();

            // Definir la carpeta de salida y el nombre del archivo
            string outputFolder = Constants.GetOutputDirectoryPath();
            string outputFile = Path.Combine(outputFolder, "merged.csv");
            
            // Cargar el archivo CSV fuente utilizando la clase Merger
            using (var merger = new GroupDocs.Merger.Merger(Constants.SAMPLE_CSV))
            {
                // Agregar otro archivo CSV para combinar
                merger.Join(Constants.SAMPLE_CSV_2);
                
                // Combinar archivos CSV y guardar el resultado en 'merged.csv'
                merger.Save(outputFile);
            }

            Console.WriteLine("La combinación de archivos CSV se completó con éxito.");
            Console.WriteLine($"Verifica la salida en {outputFolder}");
        }
    }
}

En este fragmento de código:

  • La clase Merger se instancia con la ruta del primer archivo CSV.
  • Se llama al método Join para incluir otro archivo CSV.
  • El archivo combinado final se guarda con el método Save.

Cómo dividir archivos CSV

Dividir un gran archivo CSV en piezas más pequeñas y manejables también es esencial para la gobernanza y el análisis de datos. Esto es especialmente útil cuando necesitas aislar puntos de datos o gestionar tamaños de archivos para su procesamiento. Con la biblioteca GroupDocs.Merger for .NET, dividir archivos CSV es tan fácil como combinarlos. A continuación se detallan los pasos para dividir un archivo CSV en documentos separados:

  1. Definir el formato de salida: Especifica la convención de nomenclatura para los archivos de salida (por ejemplo, line_1.csv, line_2.csv, etc.).
  2. Usar el método Split: Aplica este método de la clase Merger, junto con las opciones apropiadas que dictan cómo debe ocurrir la división.
  3. Gestionar la salida: Después de dividir, tendrás cada línea o segmento especificado como su propio archivo separado.

Aquí te mostramos cómo puedes lograr esto con C#:

// Importar los espacios de nombres necesarios
using System;
using System.IO;
using GroupDocs.Merger.Domain.Options;

namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    /// <summary>
    /// Este ejemplo demuestra cómo dividir un archivo CSV en documentos separados.
    /// </summary>
    public class SplitCsv
    {
        public static void Run()
        {
            Console.WriteLine("=======================================================================");
            Console.WriteLine("Ejemplo de Uso Básico: SplitCsv");
            Console.WriteLine();

            // Definir la ruta al archivo CSV
            string filePath = Constants.SAMPLE_CSV;
            // Definir la ruta de salida con un patrón de nomenclatura
            string filePathOut = Path.Combine(Constants.GetOutputDirectoryPath(), "line_{0}.csv");

            // Crear opciones de división para definir cómo dividir
            TextSplitOptions splitOptions = new TextSplitOptions(filePathOut, new int[] { 1, 2, 3 });

            using (Merger merger = new Merger(filePath))
            {
                // Dividir el archivo CSV de acuerdo con las opciones especificadas
                merger.Split(splitOptions);
            }

            Console.WriteLine("El documento fuente se dividió con éxito.");
            Console.WriteLine($"Verifica la salida en {filePathOut}.");
        }
    }
}

En este ejemplo:

  • El script segmenta los datos basados en los números de línea especificados y guarda cada segmento como un nuevo archivo CSV.
  • La clase TextSplitOptions permite una configuración flexible de cómo ocurre la división.

Ver también

Para más información y recursos, consulta los siguientes enlaces:

Puedes descargar una prueba gratuita desde releases.groupdocs.com y obtener una licencia temporal aquí para probar nuestra biblioteca sin restricciones.

Ejemplos de código

Para darte una mejor comprensión de cómo usar eficazmente la biblioteca GroupDocs.Merger for .NET, aquí tienes algunos ejemplos prácticos que muestran cómo combinar y dividir archivos CSV. Estos fragmentos pueden adaptarse fácilmente a tus necesidades específicas de procesamiento de datos.

Ejemplo: Combinando múltiples archivos CSV

Este ejemplo demuestra cómo combinar múltiples archivos CSV en un solo archivo utilizando el paquete GroupDocs.Merger. Asegúrate de que las rutas a tus archivos de muestra estén configuradas correctamente.

using System;
using System.IO;

namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    internal static class MergeMultipleCsvFiles
    {
        public static void Run()
        {
            Console.WriteLine("Combinando múltiples archivos CSV.");

            // Definir la carpeta de salida y el nombre del archivo de salida para el CSV combinado
            string outputFolder = Constants.GetOutputDirectoryPath();
            string outputFile = Path.Combine(outputFolder, "merged_result.csv");
            
            // Iniciar el proceso de combinación
            using (var merger = new GroupDocs.Merger.Merger(Constants.SAMPLE_CSV))
            {
                merger.Join(Constants.SAMPLE_CSV_2); // Agregar el segundo archivo CSV
                merger.Join(Constants.SAMPLE_CSV_3); // Agregar el tercer archivo CSV
                merger.Save(outputFile); // Guardar el resultado combinado
            }

            Console.WriteLine($"Se han combinado con éxito los archivos CSV en {outputFile}");
        }
    }
}

Ejemplo: Dividiendo un archivo CSV en líneas individuales

En este fragmento, dividiremos un gran archivo CSV en múltiples archivos más pequeños, cada uno conteniendo líneas especificadas. Esto puede ser útil para procesar grandes conjuntos de datos o distribuir la carga de trabajo.

using System;
using System.IO;
using GroupDocs.Merger.Domain.Options;

namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    public class SplitCsvToLines
    {
        public static void Run()
        {
            Console.WriteLine("Dividiendo un archivo CSV en archivos de líneas individuales.");

            // Especificar la ruta del archivo CSV fuente
            string filePath = Constants.SAMPLE_CSV;
            // Definir el patrón de nombre del archivo de salida para el resultado dividido
            string outputFilePath = Path.Combine(Constants.GetOutputDirectoryPath(), "line_{0}.csv");

            // Configurar opciones de división basadas en los números de línea deseados
            TextSplitOptions splitOptions = new TextSplitOptions(outputFilePath, new int[] { 1, 2, 3 });

            using (Merger merger = new Merger(filePath))
            {
                merger.Split(splitOptions); // Dividir el archivo según las opciones
            }

            Console.WriteLine($"El documento fuente se ha dividido con éxito en archivos de líneas individuales.");
        }
    }
}

Ver también

Para más información y recursos técnicos, consulta los enlaces a continuación:

Información sobre prueba gratuita y licencia temporal

Puedes descargar una versión de prueba gratuita de GroupDocs.Merger desde releases.groupdocs.com. Para aquellos que consideren una evaluación más extensa, también pueden obtener una licencia temporal aquí. Esta licencia temporal te permite probar nuestra biblioteca sin ninguna limitación, asegurando que puedas explorar completamente sus capacidades.