概述

在數據管理的世界中,處理逗號分隔值 (CSV) 文件是一個常見的需求。這些文件由於其簡單性和易讀性而被廣泛用於存儲表格數據,如電子表格或數據庫。以程式方式合併和拆分 CSV 文件可以節省時間並簡化工作流程,尤其是在處理大量數據時。

本文章提供了一個逐步指南,介紹如何使用 GroupDocs.Merger for .NET 庫合併和拆分 CSV 文件。

如何合併 CSV 文件

將多個 CSV 文件合併成一個文檔可以大大簡化數據處理和報告。在 C# 中,GroupDocs.Merger for .NET 庫使這一過程變得簡單而高效,消除了手動數據操作的需要。以下是使用 C# 合併 CSV 文件的關鍵步驟:

  1. 加載源 CSV 文件: 創建 Merger 類的實例,傳遞第一個 CSV 文件的文件路徑作為參數。
  2. 添加其他 CSV 文件: 使用 Join 方法將其他 CSV 文件添加到第一個文檔中。
  3. 保存合併結果: 調用 Save 方法將合併數據寫入新的 CSV 文件。

以下是一個說明這些步驟的例子:

// 引入必要的命名空間
using System;
using System.IO;

namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    /// <summary>
    /// 本範例演示如何將多個 CSV 文件合併成一個文件。
    /// </summary>
    internal static class MergeCsv
    {
        public static void Run()
        {
            Console.WriteLine("=======================================================================");
            Console.WriteLine("範例基本用法:MergeCsv");
            Console.WriteLine();

            // 定義輸出文件夾和文件名
            string outputFolder = Constants.GetOutputDirectoryPath();
            string outputFile = Path.Combine(outputFolder, "merged.csv");
            
            // 使用 Merger 類加載源 CSV 文件
            using (var merger = new GroupDocs.Merger.Merger(Constants.SAMPLE_CSV))
            {
                // 添加另一個 CSV 文件以進行合併
                merger.Join(Constants.SAMPLE_CSV_2);
                
                // 合併 CSV 文件並將結果保存到 'merged.csv'
                merger.Save(outputFile);
            }

            Console.WriteLine("CSV 文件合併成功完成。");
            Console.WriteLine($"請檢查輸出位於 {outputFolder}");
        }
    }
}

在這段代碼中:

  • 以第一個 CSV 文件的路徑實例化 Merger 類。
  • 調用 Join 方法以包含另一個 CSV 文件。
  • 最終合併文件使用 Save 方法保存。

如何拆分 CSV 文件

將大型 CSV 文件拆分為較小的可管理部分同樣對數據治理和分析至關重要。當您需要隔離數據點或管理處理的文件大小時,這一點尤其有用。使用 GroupDocs.Merger for .NET 庫,拆分 CSV 文件與合併一樣簡單。以下是將 CSV 文件拆分為單獨文檔的步驟:

  1. 定義輸出格式: 指定輸出文件的命名規範(例如 line_1.csv、line_2.csv 等)。
  2. 使用 Split 方法: 使用 Merger 類中的此方法,並選擇相應的選項來指示拆分的方式。
  3. 管理輸出: 拆分後,您將每一行或指定的段落作為單獨的文件。

以下是如何使用 C# 實現此功能:

// 引入必要的命名空間
using System;
using System.IO;
using GroupDocs.Merger.Domain.Options;

namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    /// <summary>
    /// 本範例演示如何將 CSV 文件拆分為單獨的文檔。
    /// </summary>
    public class SplitCsv
    {
        public static void Run()
        {
            Console.WriteLine("=======================================================================");
            Console.WriteLine("範例基本用法:SplitCsv");
            Console.WriteLine();

            // 定義 CSV 文件的路徑
            string filePath = Constants.SAMPLE_CSV;
            // 定義輸出路徑及命名模式
            string filePathOut = Path.Combine(Constants.GetOutputDirectoryPath(), "line_{0}.csv");

            // 創建拆分選項以定義如何拆分
            TextSplitOptions splitOptions = new TextSplitOptions(filePathOut, new int[] { 1, 2, 3 });

            using (Merger merger = new Merger(filePath))
            {
                // 根據指定的選項拆分 CSV 文件
                merger.Split(splitOptions);
            }

            Console.WriteLine("源文檔成功拆分。");
            Console.WriteLine($"請檢查輸出位於 {filePathOut}.");
        }
    }
}

在本例中:

  • 腳本基於指定的行數對數據進行分段,並將每個段保存為新的 CSV 文件。
  • TextSplitOptions 類允許靈活配置拆分的方式。

另見

有關更多信息和資源,請查看以下鏈接:

您可以從 releases.groupdocs.com 下載免費試用版,並在 此處 獲取臨時許可證,免費試用我們的庫。

代碼範例

為了讓您更好地理解如何有效使用 GroupDocs.Merger for .NET 庫,這裡有一些實用範例展示了合併和拆分 CSV 文件。這些代碼片段可以輕鬆適應您的具體數據處理需求。

示例:合併多個 CSV 文件

本示例演示如何通過使用 GroupDocs.Merger 包將多個 CSV 文件合併成一個文件。確保您的樣本文件的路徑正確設置。

using System;
using System.IO;

namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    internal static class MergeMultipleCsvFiles
    {
        public static void Run()
        {
            Console.WriteLine("正在合併多個 CSV 文件。");

            // 定義合併 CSV 的輸出文件夾和輸出文件名
            string outputFolder = Constants.GetOutputDirectoryPath();
            string outputFile = Path.Combine(outputFolder, "merged_result.csv");
            
            // 開始合併過程
            using (var merger = new GroupDocs.Merger.Merger(Constants.SAMPLE_CSV))
            {
                merger.Join(Constants.SAMPLE_CSV_2); // 添加第二個 CSV 文件
                merger.Join(Constants.SAMPLE_CSV_3); // 添加第三個 CSV 文件
                merger.Save(outputFile); // 保存合併結果
            }

            Console.WriteLine($"成功將 CSV 文件合併到 {outputFile}");
        }
    }
}

示例:將 CSV 文件拆分為單個行

在這個代碼片段中,我們將把一個大型 CSV 文件拆分為多個較小的文件,每個文件包含指定的行。這在處理大型數據集或分配工作負載時很有用。

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("將 CSV 文件拆分為單個行文件。");

            // 指定源 CSV 文件的路徑
            string filePath = Constants.SAMPLE_CSV;
            // 定義拆分結果的輸出文件命名模式
            string outputFilePath = Path.Combine(Constants.GetOutputDirectoryPath(), "line_{0}.csv");

            // 根據所需的行號設置拆分選項
            TextSplitOptions splitOptions = new TextSplitOptions(outputFilePath, new int[] { 1, 2, 3 });

            using (Merger merger = new Merger(filePath))
            {
                merger.Split(splitOptions); // 根據選項拆分文件
            }

            Console.WriteLine($"成功將源文檔拆分為單個行文件。");
        }
    }
}

另見

有關更多信息和技術資源,請查看以下鏈接:

免費試用和臨時許可證信息

您可以從 releases.groupdocs.com 下載 GroupDocs.Merger 的免費試用版。對於考慮更廣泛評估的用戶,您還可以在 此處 獲得臨時許可證。這個臨時許可證允許您無限制地測試我們的庫,確保您可以充分探索其功能。