IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

Jak przekonwertować plik CSV na listę w języku C#

Curtis Chau
Curtis Chau
Updated: 28 czerwca 2026

Samouczek dla początkujących, w którym zobaczymy, jak odczytać pliki CSV do listy w C# przy użyciu biblioteki IronXL. Cóż, to jest jedna z najbardziej podstawowych rzeczy, które musisz znać w każdym języku programowania, ponieważ pliki CSV są bardzo powszechnym sposobem przechowywania i przesyłania danych z jednego systemu lub aplikacji do drugiego. Omówimy wszystko, od konfigurowania projektu po skuteczne parsowanie plików CSV.

How to Convert CSV File into List in C#

  1. Utwórz projekt konsolowy C# w Visual Studio.
  2. Zainstaluj bibliotekę CSV C# za pomocą Menedżera pakietów NuGet.
  3. Zaladuj plik CSV uzywajac metody WorkBook.LoadCSV.
  4. Odczytaj wartości danych z pliku i wypełnij listę.
  5. Wydrukuj listę na konsoli.

Konfiguracja projektu

Krok 1: Tworzenie nowego projektu C#

  1. Otwórz Visual Studio: Uruchom Visual Studio na swoim komputerze.
  2. Utwórz nowy projekt: Kliknij "Utwórz nowy projekt". Otworzy się okno, gdzie możesz wybrać typ projektu.
  3. Wybierz typ projektu: Wybierz "Console App (.NET Core)" jako twój typ projektu dla prostoty.
  4. Nazwij swój projekt: Nazwij swój projekt CSVFileReader.
  5. Wybierz lokalizację: Wybierz odpowiednie miejsce na urządzeniu, aby zapisać ten projekt.
  6. Generuj projekt: Kliknij "Utwórz", aby zainicjować nowy projekt C#.

Krok 2: Instalacja biblioteki IronXL

  1. Otwórz Menedżera pakietów NuGet: W Visual Studio przejdź do menu "Narzędzia", następnie wybierz "Menedżer pakietów NuGet" i wybierz "Zarządzaj pakietami NuGet dla rozwiązania...".

  2. Przeglądaj za IronXL: Kliknij na kartę "Przeglądaj" i wyszukaj "IronXL.Excel."

    Jak przekonwertowac plik CSV na liste w C#: Rysunek 1 - IronXL

  3. Zainstaluj IronXL: Znajdź paczkę IronXL w wynikach wyszukiwania, wybierz ją i kliknij "Zainstaluj". Upewnij się, że zgadzasz się na wszelkie umowy licencyjne i przejrzyj zmiany.

  4. Weryfikacja instalacji: Po instalacji powinieneś zobaczyć IronXL w odniesieniach do projektu.

Teraz twój projekt CSVFileReader jest skonfigurowany z biblioteką IronXL i jest gotowy do rozpoczęcia odczytu i przetwarzania plików CSV w C#. Ta konfiguracja tworzy podstawę do zadań związanych z odczytem CSV, które podejmiemy w kolejnych sekcjach tego samouczka.

Parsing and Processing CSV Files in C#

Po skonfigurowaniu projektu i zainstalowaniu biblioteki IronXL, skupmy się na parsowaniu i przetwarzaniu plików CSV. Bedziemy pracowac w pliku Program.cs, ktory jest automatycznie generowany w Twoim projekcie CSVFileReader.

Krok 1: Określenie ścieżki pliku

Zanim będziemy mogli odczytać jakiekolwiek dane, musimy wiedzieć, gdzie znajduje się nasz plik CSV. Zdefiniuj zmienna w metodzie Main, aby przechowac sciezke pliku.

string filename = "csvfile.csv"; // Replace with your actual file path

Krok 2: Ładowanie pliku CSV

IronXL ulatwia zaladowanie pliku CSV. Uzyj metody WorkBook.LoadCSV, aby odczytac plik CSV do obiektu WorkBook.

var csv = WorkBook.LoadCSV(filename);

Krok 3: Definiowanie struktury danych

Utworz klase reprezentujaca strukture danych w pliku CSV. Na przyklad, jesli Twoj CSV zawiera informacje o ludziach, zdefiniuj klase Person w ten sposob:

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

Krok 4: Parsowanie danych CSV

W tym kroku przetworzymy plik CSV i wprowadzimy dane do List<Person>. Używamy IronXL do obsługi odczytu CSV, a kluczowe jest właściwe przetwarzanie każdego wiersza lub linii CSV, uwzględniając nagłówki i potencjalne puste wiersze. Oto szczegółowy podział kodu:

List<Person> people = new List<Person>();
bool isFirstRow = true; // Add a flag to check for the first row
foreach (var row in csv.WorkSheets[0].Rows)
{
    if (isFirstRow)
    {
        isFirstRow = false; // Set the flag to false after skipping the first row
        continue;
    }
    if (row.IsEmpty) continue; // Skip empty rows
    var cells = row.ToArray();
    var person = new Person()
    {
        Name = cells[0].StringValue,
        Age = int.Parse(cells[1].StringValue) // Ensure this is a numeric value
    };
    people.Add(person);
}

W tym procesie parsowania najpierw inicjalizujemy List<Person>, aby przechowac przetworzone dane, i uzywamy flagi boolowskiej isFirstRow, aby pominac wiersz naglowka pliku CSV. Petla foreach iteruje przez kazdy wiersz pliku CSV. Podczas pierwszej iteracji identyfikowany i pomijany jest wiersz naglowka, zapewniajac przetwarzanie tylko wierszy danych. Nastepnie sprawdzamy kazdy wiersz, aby upewnic sie, ze nie jest pusty, uzywajac row.IsEmpty. Ten krok jest kluczowy, aby uniknąć błędów parsowania dla pustych linii.

Dla kazdego wiersza danych, konwertujemy wiersz na tablice komorek (row.ToArray()) i nastepnie tworzymy obiekt Person z tymi danymi. Konieczne jest prawidłowe analizowanie i konwertowanie typów danych, takie jak przekształcenie ciągu 'Wiek' na liczbę całkowitą. Przetworzony obiekt Person zostaje dodany do naszej listy people. To podejscie zapewnia, ze tylko poprawne wiersze danych sa przetwarzane i magazynowane, skutecznie radzac sobie z potencjalnymi problemami, jak nie-numeryczne lancuchy w kolumnach liczbowych czy nieoczekiwanie puste wiersze.

Krok 5: Wyświetlanie danych

Po przetworzeniu danych CSV do naszej List<Person>, nastepnym waznym krokiem jest wyswietlenie i weryfikacja danych. To nie tylko pomaga upewnić się, że nasze parsowanie było udane, ale także pozwala obserwować wyjście i przeprowadzić szybką kontrolę jakości danych. Oto jak możesz to zaimplementować:

foreach (var person in people)
{
    Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}

Oto kompletny kod Program.cs:

using IronXL;
using System;
using System.Collections.Generic;

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

class Program
{
    static void Main(string[] args)
{
    string filename = @"C:\Users\tayya\Downloads\sample_data.csv"; // Replace with your actual file path
    var csv = WorkBook.LoadCSV(filename);
    List<Person> people = new List<Person>();
    bool isFirstRow = true; // Add a flag to check for the first row
    foreach (var row in csv.WorkSheets[0].Rows)
    {
        if (isFirstRow)
        {
            isFirstRow = false; // Set the flag to false after skipping the first row
            continue;
        }
        if (row.IsEmpty) continue; // Skip empty rows
        var cells = row.ToArray();
        var person = new Person()
        {
            Name = cells[0].StringValue,
            Age = int.Parse(cells[1].StringValue) // Ensure this is a numeric value
        };
        people.Add(person);
    }
    foreach (var person in people)
    {
        Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
    }
}

Wynik działania kodu

Po uruchomieniu pliku, dane listy zostaną wyświetlone w konsoli:

Jak przekonwertowac plik CSV na liste w C#: Rysunek 2 - Wynik listy

Obsługa różnych typów danych

Podczas obsługi różnych typów danych w pliku CSV, ważne jest dostosowanie logiki parsowania do konkretnego typu każdej kolumny danych. W przykladzie klasy Person, podczas gdy Name jest lancuchem i moze zostac bezposrednio przypisany uzywajac StringValue, pola liczbowe, jak Age, wymagaja konwersji z lancucha na calkowita liczbe uzywajac Int32.Parse lub Convert.ToInt32. To jest kluczowe, aby uniknąć błędów niezgodności typów.

Dla bardziej zlozonych typow danych, takich jak daty, uzyj DateTime.Parse, aby przekonwertowac tekstowe reprezentacje dat na obiekty DateTime. Ważne jest, aby być świadomym formatu daty używanego w twoim pliku CSV i upewnić się, że odpowiada on oczekiwanemu formatowi w twoim kodzie. Niespójne formaty dat mogą prowadzić do błędów parsowania lub nieprawidłowej interpretacji danych.

Wnioski

Właśnie nauczyłeś się, jak czytać, parsować i wyświetlać dane pliku CSV za pomocą IronXL w C#. To podejście można zastosować na różnych typach struktur danych i formatach plików. Jest to zatem ogólnie przydatna umiejętność dla każdego dewelopera wybierającego C# jako główny język programowania.

IronXL oferuje bezpłatny okres próbny dla użytkowników do zapoznania się z jego funkcjami. Po zakonczeniu okresu probnego, licencjonowanie dla IronXL zaczyna sie od ceny poczatkowej $999.

Pamiętaj, że wyjątki i sytuacje brzegowe muszą być obsłużone dla napisania bardziej odpornego kodu, szczególnie podczas zarządzania różnymi typami danych i przy używaniu dużych plików. Eksperymentuj dalej i odkrywaj więcej funkcji IronXL w celu ulepszenia przetwarzania danych w C#. Miłego kodowania!

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta