مرور کلی
در دنیای مدیریت دادهها، مدیریت فایلهای مقادیر تفکیکی با ویرگول (CSV) یک نیاز رایج است. این فایلها بهطور وسیع برای ذخیرهسازی دادههای جدولی مانند Spreadsheetها یا پایگاههای داده بهدلیل سادگی و خوانایی آسان استفاده میشوند. توانایی ادغام و تقسیم فایلهای CSV بهصورت برنامهنویسی میتواند زمان را صرفهجویی کرده و جریان کار را آسانتر کند، بهویژه زمانی که با حجم زیادی از دادهها سر و کار دارید.
این مقاله راهنمای گامبهگام درباره چگونگی ادغام و تقسیم فایلهای CSV با استفاده از کتابخانه GroupDocs.Merger for .NET ارائه میدهد.
چگونه فایلهای CSV را ادغام کنیم
ادغام چندین فایل CSV به یک سند واحد میتواند مدیریت دادهها و گزارشگیری را بهشدت سادهتر کند. در C#، کتابخانه GroupDocs.Merger for .NET این فرآیند را ساده و کارآمد میسازد و نیاز به دستکاری دستی دادهها را از بین میبرد. مراحل کلیدی برای ادغام فایلهای CSV با استفاده از C# به شرح زیر است:
- فایل CSV منبع خود را بارگذاری کنید: یک نمونه از کلاس Mergerایجاد کنید و مسیر فایل اولین فایل CSV را بهعنوان پارامتر پاس دهید.
- فایلهای CSV اضافی را اضافه کنید: از متد Joinبرای افزودن سایر فایلهای CSV که میخواهید به سند اول ادغام کنید، استفاده کنید.
- نتیجه ادغامشده را ذخیره کنید: با استفاده از متد Save، دادههای ترکیبشده را به یک فایل CSV جدید بنویسید.
در اینجا یک مثال از این مراحل را توضیح میدهد:
// Import necessary namespaces
using System;
using System.IO;
namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    /// <summary>
    /// This example demonstrates how to merge multiple CSV files into a single file.
    /// </summary>
    internal static class MergeCsv
    {
        public static void Run()
        {
            Console.WriteLine("=======================================================================");
            Console.WriteLine("Example Basic Usage: MergeCsv");
            Console.WriteLine();
            // Define the output folder and file name
            string outputFolder = Constants.GetOutputDirectoryPath();
            string outputFile = Path.Combine(outputFolder, "merged.csv");
            
            // Load the source CSV file using the Merger class
            using (var merger = new GroupDocs.Merger.Merger(Constants.SAMPLE_CSV))
            {
                // Add another CSV file to merge
                merger.Join(Constants.SAMPLE_CSV_2);
                
                // Merge CSV files and save the result to 'merged.csv'
                merger.Save(outputFile);
            }
            Console.WriteLine("CSV files merge completed successfully.");
            Console.WriteLine($"Check output in {outputFolder}");
        }
    }
}
در این بخش از کد:
- کلاس Mergerبا مسیر اولین فایل CSV ایجاد میشود.
- متد Joinبرای شامل کردن فایل CSV دیگر فراخوانی میشود.
- فایل نهایی ادغامشده با متد Saveذخیره میشود.
چگونه فایلهای CSV را تقسیم کنیم
تقسیم یک فایل CSV بزرگ به قطعات کوچکتر و قابل مدیریت نیز برای حاکمیت و تحلیل دادهها ضروری است. این کار بهویژه زمانی مفید است که بخواهید نقاط داده را ایزوله کنید یا اندازه فایلها را برای پردازش مدیریت کنید. با کتابخانه GroupDocs.Merger for .NET، تقسیم فایلهای CSV به اندازه ادغام آسان است. مراحل تقسیم یک فایل CSV به اسناد جداگانه به شرح زیر است:
- فرمت خروجی را تعریف کنید: الگوی نامگذاری برای فایلهای خروجی را مشخص کنید (برای مثال، line_1.csv، line_2.csv و غیره).
- از متد Splitاستفاده کنید: این متد را از کلاسMergerاعمال کنید و گزینههای مناسب را که نحوه تقسیم را تعیین میکند، اضافه کنید.
- مدیریت خروجی: پس از تقسیم، هر خط یا بخش مشخصشده بهعنوان فایل مجزای خود وجود خواهد داشت.
در اینجا نحوه دستیابی به این هدف با C# آمده است:
// Import necessary namespaces
using System;
using System.IO;
using GroupDocs.Merger.Domain.Options;
namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    /// <summary>
    /// This example demonstrates how to split a CSV file into separate documents.
    /// </summary>
    public class SplitCsv
    {
        public static void Run()
        {
            Console.WriteLine("=======================================================================");
            Console.WriteLine("Example Basic Usage: SplitCsv");
            Console.WriteLine();
            // Define the path to the CSV file
            string filePath = Constants.SAMPLE_CSV;
            // Define the output path with a naming pattern
            string filePathOut = Path.Combine(Constants.GetOutputDirectoryPath(), "line_{0}.csv");
            // Create split options to define how to split
            TextSplitOptions splitOptions = new TextSplitOptions(filePathOut, new int[] { 1, 2, 3 });
            using (Merger merger = new Merger(filePath))
            {
                // Split the CSV file according to the specified options
                merger.Split(splitOptions);
            }
            Console.WriteLine("Source document was split successfully.");
            Console.WriteLine($"Check output at {filePathOut}.");
        }
    }
}
در این مثال:
- اسکریپت دادهها را بر اساس شمارههای خط مشخصشده تقسیم میکند و هر بخش را بهعنوان یک فایل جدید CSV ذخیره میکند.
- کلاس TextSplitOptionsاجازه پیکربندی انعطافپذیر چگونگی وقوع تقسیم را میدهد.
همچنین ببینید
برای اطلاعات و منابع بیشتر، به لینکهای زیر مراجعه کنید:
- مستندات GroupDocs.Merger for .NET
- مرجع API برای GroupDocs.Merger
- مثالهای GitHub برای GroupDocs.Merger
- نسخههای GroupDocs.Merger for .NET
شما میتوانید یک نسخه آزمایشی رایگان از releases.groupdocs.com بارگیری کنید و برای دریافت یک مجوز موقت اینجا اقدام کنید تا کتابخانه ما را بدون هیچ گونه محدودیتی آزمایش کنید.
نمونههای کد
برای درک بهتر نحوه استفاده مؤثر از کتابخانه GroupDocs.Merger for .NET، در اینجا چندین مثال عملی وجود دارد که ادغام و تقسیم فایلهای CSV را نمایش میدهد. این تکههای کد به راحتی میتوانند برای نیازهای خاص پردازش دادههای شما تطبیق داده شوند.
مثال: ادغام چندین فایل CSV
این مثال نحوه ادغام چندین فایل CSV به یک فایل واحد با استفاده از بسته GroupDocs.Merger را نشان میدهد. اطمینان حاصل کنید که مسیرهای فایلهای نمونه شما به درستی تنظیم شدهاند.
using System;
using System.IO;
namespace GroupDocs.Merger.Examples.CSharp.BasicUsage
{
    internal static class MergeMultipleCsvFiles
    {
        public static void Run()
        {
            Console.WriteLine("Merging multiple CSV files.");
            // Define the output folder and output file name for the merged CSV
            string outputFolder = Constants.GetOutputDirectoryPath();
            string outputFile = Path.Combine(outputFolder, "merged_result.csv");
            
            // Start merging process
            using (var merger = new GroupDocs.Merger.Merger(Constants.SAMPLE_CSV))
            {
                merger.Join(Constants.SAMPLE_CSV_2); // Add second CSV file
                merger.Join(Constants.SAMPLE_CSV_3); // Add third CSV file
                merger.Save(outputFile); // Save combined result
            }
            Console.WriteLine($"Successfully merged CSV files into {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("Splitting a CSV file into individual line files.");
            // Specify the path of the source CSV file
            string filePath = Constants.SAMPLE_CSV;
            // Define output file naming pattern for split result
            string outputFilePath = Path.Combine(Constants.GetOutputDirectoryPath(), "line_{0}.csv");
            // Set up split options based on desired line numbers
            TextSplitOptions splitOptions = new TextSplitOptions(outputFilePath, new int[] { 1, 2, 3 });
            using (Merger merger = new Merger(filePath))
            {
                merger.Split(splitOptions); // Split the file based on options
            }
            Console.WriteLine($"Successfully split the source document into individual line files.");
        }
    }
}
همچنین ببینید
برای اطلاعات و منابع فنی بیشتر، به لینکهای زیر مراجعه کنید:
- مستندات API GroupDocs.Merger for .NET
- مستندات مرجع API برای GroupDocs.Merger
- مثالهای GitHub برای GroupDocs.Merger را بررسی کنید
- آخرین نسخههای GroupDocs.Merger برای .NET
اطلاعات آزمایش رایگان و مجوز موقت
شما میتوانید یک نسخه آزمایشی رایگان از GroupDocs.Merger را از releases.groupdocs.com بارگیری کنید. برای افرادی که در نظر دارند ارزیابی طولانیتری انجام دهند، میتوانید یک مجوز موقت از اینجا نیز دریافت کنید. این مجوز موقت به شما این امکان را میدهد که بدون هیچ گونه محدودیتی کتابخانه ما را آزمایش کنید و از قابلیتهای آن بهطور کامل بهرهمند شوید.