Feedback

C# - CSV einlesen

Veröffentlicht von am 17.11.2015
(0 Bewertungen)
Methode zum einlesen einer CSV Datei.


Der Namensraum System.IO wird benötigt;
GFU-Schulungen  [Anzeige]

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

        public string[][] ReadCSV(string file)
        {
            if (File.Exists(file))
            {
                string[] lines = File.ReadAllLines(file);

                string[][] parts = new string[lines.Length][];

                for (int i = 0; i < lines.Length; i++)
                {
                    parts[i] = lines[i].Split(';');
                }

                return parts;
            }

            else
                throw new FileNotFoundException();
        }
Abgelegt unter CSV.

3 Kommentare zum Snippet

Patrick Semmler schrieb am 18.11.2015:
Hast Du Deine Methode auch mal getestet?
Deine Methode gibt nur den letzten Datensatz der CSV zurück, denn in

while ((line = stream.ReadLine()) != null)
{ {
parts = line.Split(';');
}

wird parts immer wieder überschrieben, bis zur letzten Zeile.
PaWe1481 schrieb am 20.11.2015:
Stimmt. Ich hab es jetzt geändert. Jetzt sollte es funktionieren
Anonymous2 schrieb am 20.11.2015:
Du solltest aber noch den Feldtrenner flexibel machen, CSV Dateien werden nicht nur durch ; getrennt. Außerdem versagt die Methode bei Werten die den Feldtrenner in sich tragen (was erlaubt ist).

https://tools.ietf.org/html/rfc4180

Da steht drin, wie das Format aufgebaut ist.
 

Logge dich ein, um hier zu kommentieren!