Wie kann ich CSV -Spalten in einzelne Arrays in C#trennen?
Jan 26, 2025 am 06:46 AMDieser C# -Coder trennt CSV -Spalten effizient in einzelne Arrays. Lassen Sie uns es für Klarheit und Robustheit verfeinern.
verbessert C# Code für die CSV -Spalte Trennung:
Diese Version verarbeitet potenzielle Fehler wie fehlende Werte oder falsche Grenzwerte und ermöglicht eine variable Anzahl von Spalten:
using System; using System.Collections.Generic; using System.IO; using System.Linq; public class CsvSplitter { public static List<List<string>> SeparateCsvColumns(string filePath, char delimiter = ';') { List<List<string>> columns = new List<List<string>>(); try { using (var reader = new StreamReader(filePath)) { string line; bool firstLine = true; while ((line = reader.ReadLine()) != null) { string[] values = line.Split(delimiter); if (firstLine) { // Initialize lists for each column on the first line for (int i = 0; i < values.Length; i++) { columns.Add(new List<string>()); } firstLine = false; } // Add values to corresponding columns. Handles lines with fewer values than the header. for (int i = 0; i < Math.Min(values.Length, columns.Count); i++) { columns[i].Add(values[i].Trim()); //Trim whitespace } } } } catch (FileNotFoundException) { Console.WriteLine($"Error: File not found at {filePath}"); return null; // Or throw a more specific exception } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); return null; // Or throw a more specific exception } return columns; } public static void Main(string[] args) { string filePath = @"C:\test.csv"; //Replace with your file path List<List<string>> separatedColumns = SeparateCsvColumns(filePath); if (separatedColumns != null) { for (int i = 0; i < separatedColumns.Count; i++) { Console.WriteLine($"Column {i + 1}:"); foreach (string value in separatedColumns[i]) { Console.WriteLine(value); } Console.WriteLine(); } } } }
Dieser verbesserte Code:
- verarbeitet mehrere Spalten: Es erstellt dynamisch Listen für jede Spalte basierend auf der ersten Zeile.
- Fehlerbehandlung: enthält
try-catch
Blöcke, umFileNotFoundException
und andere potenzielle Ausnahmen zu handhaben. - Whitespace Trimmen: verwendet
Trim()
, um die Leading/Trailing Whitespace von jedem Wert zu entfernen. - verarbeitet inkonsistente Zeilenlängen: verarbeitet anmutig CSV -Dateien, bei denen einige Zeilen weniger Werte als andere haben.
- Clearer Output: präsentiert die Ausgabe in einem organisierteren und lesbaren Format.
- verwendet einen Trennzeichenparameter: Ermöglicht Ihnen, den Trennzeichen (z. B. ',', ';', '|') anzugeben, wenn es kein Semikolon ist.
Denken Sie daran, "C:test.csv"
durch den tatsächlichen Pfad zu Ihrer CSV -Datei zu ersetzen. Diese robuste Lösung bietet einen zuverlässigeren und vielseitigeren Ansatz zur Verarbeitung von CSV -Daten in C#.
Das obige ist der detaillierte Inhalt vonWie kann ich CSV -Spalten in einzelne Arrays in C#trennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

eindeutiger Gebrauch und Phrasenfreigabe

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?
