Ich benutze TextFieldParser, um eine CSV-Datei zu lesen. Diese besondere Spalte in der CSV enthält Zahlen: 3,14, 2,65, etc. Ich bin, sie als solche zu lesen:TextFieldParser fügt Nullen zur Nummer in CSV hinzu
var path = @"C:\myfiles\file.csv";
using (TextFieldParser csvParser = new TextFieldParser(path))
{
csvParser.SetDelimiters(new string[] { "," });
csvParser.ReadLine();
var numbers = new string[5];
numbers[0] = csvParser.ReadFields()[23];
numbers[1] = csvParser.ReadFields()[23];
numbers[2] = csvParser.ReadFields()[23];
numbers[3] = csvParser.ReadFields()[23];
numbers[4] = csvParser.ReadFields()[23];
return numbers;
}
Dies funktioniert, aber die Saiten, die ich bin immer wieder haben zwei Nullen angehängt; dh. 3.14 wird als "3.1400" zurückgegeben. Gibt es einen Grund dafür? Eine Konfigurationsoption für den TextFieldParser, vielleicht?
Der 'TextFieldParser' ist anschwellend, gibt aber nur Strings zurück. Andere Werkzeuge wie 'CSVHelper' zum Beispiel geben eigenschaftsgetippte Daten und Sammlungen zurück. – Plutonix
Keine Sorge, ich muss trotzdem etwas String-Manipulation an den Ergebnissen vornehmen. – opticon
Dumme Frage, aber sind Sie sicher, dass die Textdatei selbst nicht die zusätzlichen Nullen hat? Das ist am sinnvollsten, vor allem, wenn es sich hier um gerade "Streicher" handelt. – pinkfloydx33