Daten in Datenbank einpflegen

kekskruemel

Angesehenes Mitglied
Hallo

ich habe nun Daten in folgendem Aufbau erhalten:

78476 Allensbach Zum Riesenberg 4a Automobile Böhler GmbH
89604 Allmendingen Xaveriusstr. 2 Fuchs- Tank & Waschparadies
46519 Alpen Weselerstr. 98 Steffens KFZ-Reparatur GmbH
46519 Alpen Xantener Str. 43 Freie Tankstelle Wilde

Nun möchte ich dies in eine Excel bzw. in eine MySQL DB einpflegen.

Leider kann ich keinen einzigartigen Trenner auswählen.
Leerzeichen kommen auch in dem Straßennamen, teils auch in dem Werkstattnamen oder in dem Stadtnamen vor.
Tabulatoren sind nicht gestetzt, Kommata und Semikolon auch nicht.

Mit Hand ist aufwendig, da es sich um etwa 4000 Daten handelt.

Habt ihr eine Idee für mich?
Danke
 
Einmaliger Job oder hast Du swas öfters?
Eventuell lont sich die Anschafung von dies hier: http://www.nobody-software.de oder mal anfragen, ob man es für Dich machen könnte, in ein SQL-Format zu exportieren
smile.gif


Gruß Dirk
 
Zuerst würde ich da nachfragen, wo die Daten herkommen.

Das stammt ja sicherlich aus einer Datenbank - also neu auslesen (oder nicht bezahlen
biggrin.gif
).

Wenn das nicht geht, bleibt wohl bloß: PLZ abspalten (das dürfte noch easy sein), dann eventuell gegen eine Ortsliste abgleichen. Womöglich vom Ende der Zeile die letzte Nummer ermitteln.

Und den Rest per Hand nacharbeiten - wirklich verläßlich ist da kein Algorithmus.


Würde man versuchen, da ein auch bloß einigermaßen brauchbares Programm zu entwickeln, dann dauert = kostet das, bei 4000 Datensätzen einmalig rechnet sich das dann irgendwann nicht mehr.
 
Also es scheint sich um einen aus Deutschland stammenden Datenbestand zu handeln, ja?

Ich sehe vor jedem Eintrag eine PLZ.
Ich würde vielleicht wie folgt vorgehen:

Die PLZ aus jedem einzelnen Datensatz filtern.
das sind die ersten 5 Zeilen jeder Zeile, sollte problemlos möglich sein.

Datensatz mit explode() bei jedem Leerzeichen spiltten.
Der zweite Wert ist immer der Ort (der aber auch selbst noch ein Leerzeichen haben kann).
Dann also die PLZ mit einer Geo-Datenbank abgleichen um herauszufinden, welcher Teil des Datensatzes (bzw. welche Teile des explode()-arrays) der Ort ist.
Der übrig bleibende Rest ist dann die Straße plus Hausnummer und ein Firmen-/Personenname.
Die Straße nebst Hausnummer kannst du mit regulären Ausdrücken anhand der Hausnummer (Vorsicht: Hausnummern können auch einen Buchstaben hinter der Zahl haben) vom Firmennamen abgrenzen.

Am Ende bleibt dir aber nichts anderes übrig, als deine aufgesplitteten Daten wenigstens mal zu überfliegen und zu schauen, ob sich Fehler eingeschlichen hat.

So in die Richtung vielleicht?
 
Nobody-software würde das für mich machen. Mit derzeit leider noch zu teuer aber.

Ich werde daher noch einmal weiterschauen ob ich das über ein Algo gelöst bekomme. Ich vermute aber nein.

Ist an sich eben doch recht schwierig.

Leider bekomme ich auch mit Acrobat Pro oder Illustrator die Tabelle nicht wieder aus der pdf.

Die Datenbank aus der die pdf entstammt ist leider nicht mehr verfügbar. Ich hatte die Datenbank einmal auf meinem Rechner. Ich habe nur noch die pdf.


 
...mit einem Algorithmus wirst du da wohl (auf die schnelle) nicht weiter kommen. Vor allem da es sich um eine einmalige Sache handelt würde es sich wohl nicht lohnen da einen Haufen Zeit und Geld zu investieren.

Bei 4.000 Datensätzen ist es ja auch noch im Bereich des Möglichen manuell Hand anzulegen...entweder selbst oder einen Schüler für 5Euro/h suchen.

Grüße
Oli
 
Ich würde das:

a) nach der PLZ (simpel)
b) nach dem folgenden String bis zum nächsten Leerzeichen (== Ort)
c) nach dem erstmaligen Auftauchen eines Leerzeichen nach der ersten Ziffer (== Straße)

trennen.

Die 4 Werte würde ich in einer Tabelle mit einem Auswahlbutton "false" in einem Webformular anzeigen lassen. Jeder falsche Datensatz würde getaggt und editierbar angezeigt.

 
Zurück
Oben