Laden...

Csv-Datei bis "\r\n" lesen - Liest aktuell immer bis zum ersten "\n"

Erstellt von vagm89 vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.639 Views
V
vagm89 Themenstarter:in
1 Beiträge seit 2016
vor 7 Jahren
Csv-Datei bis "\r\n" lesen - Liest aktuell immer bis zum ersten "\n"

Hallo zusammen!

Ich habe hier ein kleines Problem mit ReadLine().

Ich muss einine CSV Dateien in DB importieren. Die Zeilen enhalten unsichtbare (\n) Zeichen im Text.
sr.ReadLine soll die Zeilen bis (\r\n) lesen. Leider klappt es nicht, liest nur bis das erste \n.

@011200A;"GUTInfrarot-\nFern, Rand,\nNac, 3 Metall-\nfett-\nanzeige, LED-\nng,platte**\n**abnehmbar";Stk;2;41;Einbaugeräte;26;Elektrogeräte;1;0;105;0;added;0;56.269(\r\n

Könnt Ihr mir bitte da weiter helfen?

Danke

771 Beiträge seit 2009
vor 7 Jahren

Benutze doch einen CSV-Parser anstatt selber diese zu parsen, z.B. A fast CSV Reader.

3.003 Beiträge seit 2006
vor 7 Jahren

Genaugenommen macht er, was er soll...

Eine Zeile ist definiert als eine Folge von Zeichen, gefolgt von einer Zeile Zeilenvorschub ("\n"), ein Wagenrücklauf ("\r") oder ein Wagenrücklauf, gefolgt von einer Zeile Zeilenvorschub ("\r\n").

Bleibt dir nur, vor dem Import alle einzelnen Zeilenvorschübe zu ersetzen oder zu entfernen.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

5.299 Beiträge seit 2008
vor 7 Jahren

Visualbasic hat eine TextFieldParser-Klasse, die müsste derlei csv auch korrekt einlesen können.

Der frühe Apfel fängt den Wurm.

T
2.224 Beiträge seit 2008
vor 7 Jahren

Im Worst Case einfach mit File.ReadAllText alle einlesen.
Dann den String in die tatsächlichen Zeilen durch Split("\r\n") aufteilen.
Dann kannst du den Rest selber parsen.

Ist zwar minimal etwas Aufwand aber kostet dich auf nur ein paar Minuten.
Oder Alternativ eben fertige Parser für CSV nehmen, die dies anbieten.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.