perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 19
Click for quality!




12.02.2012 / 04:10

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Suchanfragen für Scripts/Programmierung zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitrag"Wild formatierte" TXT Datei in CSV
Seitenanfang
Hallo!
Ich habe eine Textdatei bekommen mit wild zusammengewürfelten Adressen. Leider kein CR nach jeder Adresse und kein vernünftiges Trennzeichen zwischen den einzelnen Daten.
Gibt es eine Möglichkeit das in ordentliches CSV umzuwandeln zur Weiterverarbeitung?

Hier ein Datenbeispiel:
KdNr., Zusatz, Vorname Name Straße; PLZ Ort KdNr., Zusatz, Vorname Name Straße; PLZ Ort KdNr., Zusatz, Vorname Name Straße; PLZ Ort KdNr., Zusatz, Vorname Name Straße; PLZ Ort KdNr., Zusatz, Vorname Name Straße; PLZ Ort KdNr., Zusatz, Vorname Name Straße; PLZ Ort KdNr., Zusatz, Vorname Name Straße; PLZ Ort KdNr., Zusatz, Vorname Name Straße; PLZ Ort

So steht der Kram einfach hintereinander Traurig
Problem: man kann nichtmal das ASCII Zeichen 32 als Trenner zwischen Ort und KdNr. nehmen, weil es ja auch Orte bestehende aus mehreren Worten gibt...

Hat jmd. eine Idee?

Gruß,
Andreas Weller

Datum: 26.06.2007-13:19

Beitragre: "Wild formatierte" TXT Datei in CSV
Seitenanfang
Ist die KdNr eine Ganzzahl? Und was ist der Zusatz?

Es scheint ja schon eine grobe Trennung zu geben (durch Komma und Semikolon), es duerfte nicht schwer sein den Ort von PLZ und KdNr zu trennen (Semikolon, dann 5-stellige Zahl (PLZ) vorm Ort und x-stellige Ganzzahl(?) hinterm Ort, dann ein Komma).
Daraus wuerde sich schon ein regulaerer Ausdruck erstellen lassen, am besten ein vorausschauender (look-ahead).

Ein paar reele Beispieldaten waeren nicht schlecht

Datum: 26.06.2007-15:27

Beitragre: "Wild formatierte" TXT Datei in CSV
Seitenanfang
Hallo!
Die KdNr ist eine Ziffern Buchstabenkombination:
ABC5D oder BCF76EF

z.B.:
ABC5D, A, Prof. Dr. Harald Schmidt Musterweg. 7; 55555 Musterhausen ABCDE, F, Martina Schneider Musterallee 2 B; 12345 Musterdorf BCC555, A, Ludwig v. Beethoven Mozartstr. 2; 65432 Musterhausen Industriegebiet; DAC5F, X, Carl v. Linne GGF5P, F, Emmanuel Kant Universitäts Weg 7; 44444 Bochum PPZZZT7, F, Heidegger Philosophenweg. 34; 97375 Bayern

Hier sieht man auch schon ein weiteres Problem: es gibt nicht immer vollständige Anschriften (hier bei DAC5F,X, Carl...) - der Zusatz ist immer ein einzelner Buchstabe.

Danke und Gruß,
Andreas Weller

Datum: 26.06.2007-16:59

Beitragre: "Wild formatierte" TXT Datei in CSV
Seitenanfang
fängt die KdNr immer mit einem Buchstaben an? sind es immer nur Großbuchstaben? Dann müsste doch [A-Z][A-Z0-9]+ die KdNr erwischen, ohne dass PLZ gematcht werden. Außerdem scheint zumindest der Teil Kd-Nr, Zusatz immer vorhanden zu sein.

Dann könnte man mit ([A-Z][A-Z0-9]+),\s*([AFX]),\s* quasi den Datensatzanfang ermitteln und in $1 und $2 stehen schon mal Kd-Nr und Zusatz drin. Dann müsste jetzt noch der Rest ausgewertet werden.

Dazu fällt mir aber nichts sinnvolles ein. Hmm, naja vielleicht könnte man versuchen, die PLZ zu erkennen ([0-9]{5,5}), dann noch den Ort bis zum Ende des Datensatzes. Vor der PLZ ist dann die Hausnummer. Und die Straße - aber wie weit die geht dürfte dann schon sehr schwierig werden herauszufinden.

Datum: 26.07.2007-02:42

-






-
-