C#:
עובדים עם CSV

איך לעשות:

עבודה עם קבצי CSV ב-C# יכולה להתבצע דרך המרחב השם System.IO לפעולות בסיסיות, ולמניפולציות מורכבות יותר או לטיפול בקבצים גדולים ללא תקלות, כדאי לשקול להשתמש בספריות צד שלישי כמו CsvHelper. להלן דוגמאות לקריאה מקבצי CSV וכתיבה אליהם בשתי הדרכים.

קריאת קובץ CSV באמצעות System.IO

using System;
using System.IO;

class ReadCSV
{
    static void Main()
    {
        string filePath = @"path\to\your\file.csv";
        // קריאת כל השורות של קובץ ה-CSV
        string[] csvLines = File.ReadAllLines(filePath);
        
        foreach (string line in csvLines)
        {
            string[] rowData = line.Split(',');
            Console.WriteLine($"עמודה ראשונה: {rowData[0]}, עמודה שנייה: {rowData[1]}");
        }
    }
}

פלט לדוגמה:

עמודה ראשונה: שם, עמודה שנייה: גיל
עמודה ראשונה: ג'ון דו, עמודה שנייה: 30

כתיבה לקובץ CSV באמצעות System.IO

using System;
using System.Collections.Generic;
using System.IO;

class WriteCSV
{
    static void Main()
    {
        string filePath = @"path\to\your\output.csv";
        var lines = new List<string>
        {
            "שם,גיל",
            "ג'ון דו,30",
            "ג'יין סמית',25"
        };
        
        File.WriteAllLines(filePath, lines);
        Console.WriteLine("קובץ CSV נכתב.");
    }
}

פלט לדוגמה:

קובץ CSV נכתב.

שימוש ב-CsvHelper לקריאת CSV

לשימוש ב-CsvHelper, ראשית, הוסף את חבילת CsvHelper לפרויקט שלך באמצעות ניהול חבילות NuGet.

using CsvHelper;
using System.Globalization;
using System.IO;
using System.Linq;
using CsvHelper.Configuration;

class ReadCSVWithCsvHelper
{
    static void Main()
    {
        string filePath = @"path\to\your\file.csv";

        using (var reader = new StreamReader(filePath))
        using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
        {
            var records = csv.GetRecords<dynamic>().ToList();
            foreach (var record in records)
            {
                Console.WriteLine($"עמודה ראשונה: {record.Name}, עמודה שנייה: {record.Age}");
            }
        }
    }
}

פלט לדוגמה:

עמודה ראשונה: ג'ון דו, עמודה שנייה: 30
עמודה ראשונה: ג'יין סמית', עמודה שנייה: 25

שימוש ב-CsvHelper לכתיבת CSV

using CsvHelper;
using System.Globalization;
using System.IO;
using System.Collections.Generic;
using CsvHelper.Configuration;

class WriteCSVWithCsvHelper
{
    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }

    static void Main()
    {
        string filePath = @"path\to\your\output.csv";
        var records = new List<Person>
        {
            new Person { Name = "ג'ון דו", Age = 30 },
            new Person { Name = "ג'יין סמית'", Age = 25 }
        };

        using (var writer = new StreamWriter(filePath))
        using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
        {
            csv.WriteRecords(records);
        }
        
        Console.WriteLine("קובץ CSV נכתב עם CsvHelper.");
    }
}

פלט לדוגמה:

קובץ CSV נכתב עם CsvHelper.