Import-Datumsfehler beim Import von Starmoney

Bei 30% der Datensätze ist das Datum ungültig

 
matze8
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 11
Dabei seit: 06 / 2012
Betreff:

Import-Datumsfehler beim Import von Starmoney

 · 
Gepostet: 07.06.2012 - 12:36 Uhr  ·  #1
Hallo,

ich will von Starmoney 7.0 auf Hibiscus wechseln. Da ich in Starmoney die alten Umsätze der letzten Jahre habe will ich diese natürlich mitnehmen. Ich habe die Datensätze bei Starmoney als .csv exportiert und will sie bei Hibiscus importieren. Allerdings meldet Hibiscus bei ca. 30% der Datensätze in ungültiges Datum und lässt daher die entsprechenden Datensätze aus - hier ein Ausschnitt aus dem Log:
Zitat
...
[07.06.2012 12:11:32] Importiere Zeile 566
[07.06.2012 12:11:33] Importiere Zeile 567
[07.06.2012 12:11:33] Importiere Zeile 568
[07.06.2012 12:11:33] Ungültiger Wert "4.6.2012" in Spalte "Datum": Text "4.6.2012" ist kein gültiges Datum
[07.06.2012 12:11:33] Fehler in Zeile 568: Datum fehlt.
[07.06.2012 12:11:33] Importiere Zeile 569
[07.06.2012 12:11:33] Ungültiger Wert "8.6.2012" in Spalte "Datum": Text "8.6.2012" ist kein gültiges Datum
[07.06.2012 12:11:33] Fehler in Zeile 569: Datum fehlt.
[07.06.2012 12:11:33] 444 importiert, 124 fehlerhaft, 0 übersprungen


Ausführlich:
Zitat
...
[Thu Jun 07 12:11:31 CEST 2012][ERROR][de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize] unable to parse string 2.5.2012 as date
java.text.ParseException: Unparseable date: "2.5.2012"
at java.text.DateFormat.parse(Unknown Source)
at de.willuhn.jameica.hbci.gui.CustomDateFormat.parse(CustomDateFormat.java:49)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:54)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:27)
at de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport(CsvImporter.java:156)
at de.willuhn.jameica.hbci.gui.dialogs.ImportDialog$3.run(ImportDialog.java:177)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:940)

[Thu Jun 07 12:11:31 CEST 2012][ERROR][de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport] unable to unserialize datum for line 561, value: 2.5.2012
java.io.IOException: Text "2.5.2012" ist kein gültiges Datum
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:59)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:27)
at de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport(CsvImporter.java:156)
at de.willuhn.jameica.hbci.gui.dialogs.ImportDialog$3.run(ImportDialog.java:177)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:940)

[Thu Jun 07 12:11:33 CEST 2012][ERROR][de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize] unable to parse string 4.6.2012 as date
java.text.ParseException: Unparseable date: "4.6.2012"
at java.text.DateFormat.parse(Unknown Source)
at de.willuhn.jameica.hbci.gui.CustomDateFormat.parse(CustomDateFormat.java:49)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:54)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:27)
at de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport(CsvImporter.java:156)
at de.willuhn.jameica.hbci.gui.dialogs.ImportDialog$3.run(ImportDialog.java:177)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:940)

[Thu Jun 07 12:11:33 CEST 2012][ERROR][de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport] unable to unserialize datum for line 568, value: 4.6.2012
java.io.IOException: Text "4.6.2012" ist kein gültiges Datum
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:59)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:27)
at de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport(CsvImporter.java:156)
at de.willuhn.jameica.hbci.gui.dialogs.ImportDialog$3.run(ImportDialog.java:177)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:940)

[Thu Jun 07 12:11:33 CEST 2012][ERROR][de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize] unable to parse string 8.6.2012 as date
java.text.ParseException: Unparseable date: "8.6.2012"
at java.text.DateFormat.parse(Unknown Source)
at de.willuhn.jameica.hbci.gui.CustomDateFormat.parse(CustomDateFormat.java:49)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:54)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:27)
at de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport(CsvImporter.java:156)
at de.willuhn.jameica.hbci.gui.dialogs.ImportDialog$3.run(ImportDialog.java:177)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:940)

[Thu Jun 07 12:11:33 CEST 2012][ERROR][de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport] unable to unserialize datum for line 569, value: 8.6.2012
java.io.IOException: Text "8.6.2012" ist kein gültiges Datum
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:59)
at de.willuhn.jameica.hbci.io.ser.DateSerializer.unserialize(DateSerializer.java:27)
at de.willuhn.jameica.hbci.io.csv.CsvImporter.doImport(CsvImporter.java:156)
at de.willuhn.jameica.hbci.gui.dialogs.ImportDialog$3.run(ImportDialog.java:177)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:940)

[Thu Jun 07 12:11:33 CEST 2012][INFO][de.willuhn.jameica.messaging.LogMessageConsumer.handleMessage] Daten importiert aus D:\Eigene Dateien\Desktop\400099020_20120607.csv

Ich verwende die 6. Spalte als Datum.

Wie lässt sich das Problem umgehen?

Gruß
matze8
obnutzer
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 1095
Dabei seit: 03 / 2010
Betreff:

Re: Import-Datumsfehler beim Import von Starmoney

 · 
Gepostet: 07.06.2012 - 12:45 Uhr  ·  #2
Ich würde versuchen, über Excel die Daten erstmal ordentlich zu formatieren, z.B. 08.06.2012 und nicht 8.6.2012. Und danach korrekt formatiert abspeichern und dann nochmal den Import versuchen.
matze8
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 11
Dabei seit: 06 / 2012
Betreff:

Re: Import-Datumsfehler beim Import von Starmoney

 · 
Gepostet: 07.06.2012 - 14:35 Uhr  ·  #3
Danke - Hibiscus hat das Format unverständlicherweise wirklich nicht vertragen. So etwas sollte ein auch nur minimal rubuster CSV-Importer doch schlucken?

Excel hat mir einiges anderes zerlegt (lange Zahlen in Fließkommadarstellung ect.), daher habe ich es per RegEx gemacht.

Falls jemand das selbe Problem haben sollte kann er sich z.B. Notepad++ runterladen (OpenSource) und folgende RegEx-Befehle per Suchen/Ersetzen abarbeiten lassen:

;(\d)\.(\d)\.(\d\d\d\d); -> ;0\1.0\2.\3;
;(\d\d)\.(\d)\.(\d\d\d\d); -> ;\1.0\2.\3;
;(\d)\.(\d\d)\.(\d\d\d\d); -> ;0\1.\2.\3;

Etwas umständlich, da NP++ nicht die vollständige RegEx-Syntax beherrscht.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11371
Dabei seit: 03 / 2005
Betreff:

Re: Import-Datumsfehler beim Import von Starmoney

 · 
Gepostet: 07.06.2012 - 14:37 Uhr  ·  #4
Hibiscus exportiert die Datumswerte im CSV-Format auch mit fuehrenden Nullen. Daher ist mir das bei eigenen Tests nie aufgefallen. Ich hatte hier eher darauf geachtet, dass neben "tt.mm.jjjj" auf "tt.mm.jj" (also zweistellige Jahre) unterstuetzt werden.
matze8
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 11
Dabei seit: 06 / 2012
Betreff:

Re: Import-Datumsfehler beim Import von Starmoney

 · 
Gepostet: 07.06.2012 - 15:07 Uhr  ·  #5
Wenn man selbst keine derartige Vorlage hat kommt man natürlich schlecht drauf - das kenne ich gut, da ich vor nicht allzu langer Zeit einen relativ robusten CSV-Adressdaten Importer für PHP geschrieben habe.

Mich hat es nur noch etwas gewundert, da ich vermutlich nicht der erste bin, der vorhat von Starmoney zu Hibiscus zu wechseln. Aber hier im Forum konnte ich niemanden mit derartigen Problemen finden.

Wäre auf jeden Fall gut, wenn das "Starmoney-Format" ohne führende Nullen in zukünftige Versionen eingebaut werden würde. Das sollte ja kein allzu großer Aufwand sein...
Gewählte Zitate für Mehrfachzitierung:   0