C#:
Arbeta med CSV

Hur man gör:

Att arbeta med CSV-filer i C# kan åstadkommas genom namnrymden System.IO för grundläggande operationer, och för mer komplexa manipulationer eller för att hantera större filer sömlöst, kan man överväga tredjepartsbibliotek som CsvHelper. Nedan finns exempel på hur man läser från och skriver till CSV-filer med båda metoderna.

Läsa en CSV-fil med System.IO

using System;
using System.IO;

class ReadCSV
{
    static void Main()
    {
        string filePath = @"sökväg\till\din\fil.csv";
        // Läser alla rader i CSV-filen
        string[] csvLines = File.ReadAllLines(filePath);
        
        foreach (string line in csvLines)
        {
            string[] rowData = line.Split(',');
            Console.WriteLine($"Första kolumnen: {rowData[0]}, Andra kolumnen: {rowData[1]}");
        }
    }
}

Exempelutskrift:

Första kolumnen: Namn, Andra kolumnen: Ålder
Första kolumnen: John Doe, Andra kolumnen: 30

Skriva till en CSV-fil med System.IO

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

class WriteCSV
{
    static void Main()
    {
        string filePath = @"sökväg\till\din\utdata.csv";
        var lines = new List<string>
        {
            "Namn,Ålder",
            "John Doe,30",
            "Jane Smith,25"
        };
        
        File.WriteAllLines(filePath, lines);
        Console.WriteLine("CSV-fil skriven.");
    }
}

Exempelutskrift:

CSV-fil skriven.

Använda CsvHelper för att läsa CSV

För att använda CsvHelper, lägg först till CsvHelper-paketet till ditt projekt med NuGet Package Manager.

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

class ReadCSVWithCsvHelper
{
    static void Main()
    {
        string filePath = @"sökväg\till\din\fil.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($"Första kolumnen: {record.Name}, Andra kolumnen: {record.Age}");
            }
        }
    }
}

Exempelutskrift:

Första kolumnen: John Doe, Andra kolumnen: 30
Första kolumnen: Jane Smith, Andra kolumnen: 25

Använda CsvHelper för att skriva CSV

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

class WriteCSVWithCsvHelper
{
    public class Person
    {
        public string Namn { get; set; }
        public int Ålder { get; set; }
    }

    static void Main()
    {
        string filePath = @"sökväg\till\din\utdata.csv";
        var records = new List<Person>
        {
            new Person { Namn = "John Doe", Ålder = 30 },
            new Person { Namn = "Jane Smith", Ålder = 25 }
        };

        using (var writer = new StreamWriter(filePath))
        using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
        {
            csv.WriteRecords(records);
        }
        
        Console.WriteLine("CSV-fil skriven med CsvHelper.");
    }
}

Exempelutskrift:

CSV-fil skriven med CsvHelper.