Ich habe 2 Tabellen (eine mit bestehenden und eine mit Neueinträgen) mit jeweils einer Spalte für Name und Adresse, ist es möglich diese abzugleichen sodass eine neue Tabelle gespeichert wird die von Alt-Einträgen bereinigt ist, die Abfrage sollte allerdings nicht empfindlich bezüglich Rechtschreibfehler, Groß-Kleinschreibung, Umlaute oder Leerzeichen sein; die Daten liegen im csv-Format vor, Trennung mit ";" es sind insgesamt über 45k Zeilen.
Mein Ansatz: es sollte so eine Art Funktion sein wo mehrmals eine Buchstaben bzw. Buchstabenzahlenkombination mit einer bestimmten Mindestlänge überprüft wird z.B. Max Mustermann -> hier wird nicht nach "Max" gesucht, da zu kurz sondern nach "Muster" da "Muster" falsch geschrieben sein könnte, sollte zusätzlich noch nach z.B. "usterm" gesucht werden, dass selbe in Verbindung mit der Adresse sollte relativ genaue Ergebnisse liefern.
ich hoffe jemand kann weiterhelfen
Frohes Fest und guten Rutsch
wünscht
Azymuth
User since
2003-08-14
2022
Artikel
BenutzerIn
Schau dir mal
String::Approx an, bzw. [google]levenshtein distance[/google].
User since
2003-11-28
3645
Artikel
ModeratorIn
Weitere Module:
String::Similarity,
Text::LevenshteinXS. Außerdem gibt es agrep, welches wie das Unix-Kommando grep funktioniert, aber unscharfe Matches erlaubt.
String::Approx habe ich im Einsatz und kann es empfehlen.
Ich hatte vergessen zu erwähnen das ich kein Programmierer bin, habe mir daher bisher mit openoffice calc beholfen, ich dachte es gibt schon ein fix-fertiges Script welches mir erlaubt in der cmd einen Befehl einzugeben der auf ein Modul zurückgreift und mir ein Ergebnis in einer getrennten Datei als Tabelle bzw csv ausgibt. Trotzdem danke.
mfg
Azymuth