Schrift
[thread]9124[/thread]

"Wild formatierte" TXT in CSV umwandeln



<< >> 6 Einträge, 1 Seite
Gast Gast
 2007-06-26 15:34
#77855 #77855
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 Welelr
vayu
 2007-06-26 15:49
#77856 #77856
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
aber ein Ort wird doch keine Ziffern enthalten im gegensatz zur Kundennummer ... da könntest du doch dran festmachen wann der Ortsname zuende ist.
renee
 2007-06-26 16:20
#77857 #77857
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nein, es gibt durchaus "Zusatzzahlen" für Ortsnamen, z.B. Riedstadt 1 ist Goddelau. Auch wenn es alt ist, ist es dennoch nicht verkehrt...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
vayu
 2007-06-26 17:36
#77858 #77858
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
das ist aber schon seeehr alt ... benutzt das echt noch wer?
Ishka
 2007-06-26 18:43
#77859 #77859
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
wenn die Kundennummer grundsätzlich kürzer ist, als die plz, dann kannst du ja sagen, daß alle 5-Stelligen Ziffen Postleitzahlen sind, damit bist du schonmal weiter. Ansonsten kannst du dir sicher irgendwo ne Liste mit Posleitzahl, Ort zulegen und daran die plz festmachen.

Und wenn du soweit bist, kannst du versuchen eine Liste aller gültigen Nachnamen runterzuladen (notfalls selbst erstellen aus den vorhandenen Wörtern) und damit Vornamen und Nachnamen unterscheiden. Aber wie du das ganze Problem automatisiert lösen kannst, weiß ich leider auch nicht.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
sid burn
 2007-06-26 18:58
#77860 #77860
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
http://forum.ubuntuusers.de/topic/100877/

Hier wurden doch schon Lösungen zu deinem Problem gepostet. Hast du Sie ausprobiert? Ging etwas nicht? Funktioniert etwas nicht so wie erwartet?
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
<< >> 6 Einträge, 1 Seite



View all threads created 2007-06-26 15:34.