6 Stimmen

Es wurde bereits ein Element mit demselben Schlüssel hinzugefügt - csvreader.fieldcount

Ich versuche, ein Importprogramm aus CSV zu erstellen.

Mein Code lautet

csv = New CsvReader(New StreamReader("CSVFileLocation"), True)
Dim fieldCount As Integer = csv.FieldCount

Die Fehlermeldung "Ein Element mit demselben Schlüssel wurde bereits hinzugefügt" in der zweiten Zeile. Wenn ich "HasReaders" auf "False" ändere, tritt kein solcher Fehler auf. Aber ich bin nicht in der Lage, die Kopfzeilen zu erhalten.

Kann mir bitte jemand helfen?

FYI: Ich verwende Visual Studio 2010 Version.

Grüß Gott, Richard

6voto

p.campbell Punkte 94960

Prüfen Sie, ob Ihre CSV-Datei möglicherweise doppelte Spaltennamen oder mehrere leere Zellen in der Kopfzeile enthält.

Wenn das der Fall ist, versuchen Sie, eine Schleife durch Ihre csv Objekt, und versuchen Sie, die Kopfzeilen im Code umzubenennen, bevor Sie die Eigenschaft FieldCount .

1voto

Dan Tao Punkte 121990

Meine Vermutung ist, dass die CsvReader Klasse durchläuft die erste Zeile und fügt Zeichenketten zu einem Wörterbuch hinzu, und die Kopfzeile hat zwei Zellen mit demselben Wert (also zwei identisch benannte Felder). Schauen Sie sich Ihre Daten an und prüfen Sie, ob dies der Fall ist. Wenn Sie Zugriff auf den Quellcode von CsvReader können Sie diesen Fall behandeln, indem Sie dem zweiten Feld einen etwas anderen Namen geben (z. B. indem Sie eine "1" an das Ende des Namens anhängen).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X