Bei diesen 3 Zeilen:
12345|zzzzz oooo ppppp||111 22633|yyyyy 10 Liter Ersetzt 198323||189,00 22634|"yyyyy 20 Liter Ersetzt 19abc4"||361,00
Wo sehen diese Zeilen so aus?
die in meiner CSV so aussehen:
12345|zzzzz oooo ppppp||111 22633|yyyyy 10 Liter Ersetzt 198323||189,00 22634|"yyyyy 20 Liter Ersetzt 19abc4"||361,00
Wo sehen diese Zeilen so aus?
Wenn, wie oben bei Ziffer 22633, ein Zeilenumbruch innerhalb eines eigentlichen Strings ist, welcher (der Zeilenumbruch) auch laut der Definition Deines CSV eigentlich einen neuen Datensatz einleiten soll, dann hast Du kein definiertes ergo kein maschinell auswertbares CSV, ergo genau drei Möglichkeiten:
- Bester und eigentlich einziger Weg: Erneuter, sauberer Datenexport. (Du hast keine „Daten“ sondern Datenmüll!)
oder
- Du gehst im Editor mit Suchen und Ersetzen
oder
- mit Programmen wie
sed
oderAWK
„über die Datei“
(und überprüfst die Ergebnisse) oder
Du lässt Dir einen Parser einfallen, mit dem Du aus
22633|yyyyy 10 Liter Ersetzt 198323||189,00
eben
22633|"yyyyy 10 Liter
Ersetzt 198323"||189,00
machst. Dabei viel Glück! Das braucht man nämlich sehr dringend, wenn man solchen Datenmüll hat.
Weiter: Das Komma in „189,00“ muss ein Punkt sein.
Hint: Der erneute und dieses Mal saubere Datenexport ist der billigste Weg. Auch für Deinen Kunde. Ohne saubere Daten, die in einem vereinbarten Verfahren mit formal stabilen Ergebnissen entstehen, kannst Du NICHTS garantieren. Selbst wenn Du es mit aktuellen Fehlern in den Dateien mit viel Mühe hinbekommst wird Dein Programm beim nächsten Mal wahrscheinlich crashen.
Kommuniziere beim Kunde ganz klar, dass Du mit diesem Datenmüll weder arbeiten kannst noch wirst - sonst darfst Du bei jedem seiner Datenlieferungen auf dem Teppich stehen und seinen Müll „für lau“ reparieren, was bei 15.000 Datensätzen Tage dauert und fehlerträchtig ist (Und wer haftet dafür?)
Wenn Deine Kunde einen neuen, sauberen Datenexport nicht mitmacht, dann ist der ein Spinner und Du solltest froh sein, ihn loszuwerden - denn der Kunde hat die Erfüllung unmöglich gemacht!
Hint: Exportiere Beträge im Cent-Format. In diesem gehören die auch in die Datenbank...