Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1764to1768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array leere Datensätze entfernen

Array leere Datensätze entfernen
26.06.2020 00:24:29
Siegfried
Hallo @Alle Helferleins,
ich müsste/möchte aus einem Array welches über Dim OffenArr() As String und ReDim OffenArr(5, 2 ) erstelle, dann Daten einlese, aber je nach Situation nicht alle 5 Datensätze benötige, jene welche also keine Daten enthalten wieder entfernen.
Habe übers WEB schon alle möglichen Vorschläge gefunden, aber leider läuft keines der gefundenen Muster echt wirklich ohne einen Fehler oder das richtige gewünschte Endergebnis zu bringen.
Hätte auch versucht nur das Grund-Arry zu definieren und immer einen Datensatz hinzufügen wenn Daten vorhanden sind, gelang mir auch leider nicht
Das mit dem Sortieren aufsteigend nach Wochentagen ist mir ja schon gelungen nur vorher die beiden leeren Datensätze zu löschen eben leider nicht.
Das wäre einmal der erste Lösungswunsch, hätte dann noch einen:
Wie aus den beiden Beispielen ersichtlich ist überwiegend an allen Tagen die gleiche Öffnungszeit, jetzt wäre es halt noch schön, wenn dies auf einen Eintrag z.B. Mo-Sa 08:00 – 21:00 zusammengefasst werden könnte, dazu fehlt mir momentan jeglicher Plan.
Mir wurde hier schon sehr oft geholfen, ich hoffe jetzt auch Helferleins zu finden!!
Gruß Siegfried
Userbild
Userbild

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Schnellschuss: Kann es sein, ...
26.06.2020 05:40:40
lupo1
... dass Du falsch dimensionierst?
ReDim OffenArr(5, 2) ist ohne weiteres nämlich ein 6x3-Array.
Nur mit Option Base 1 wird es zu 5x2.
Abweichend von beidem sehe ich auf Deinem Bild jedoch 6x2.
"Da würde ich mich als Array auch beschweren und einfach existent bleiben" (etwas humoristisch, da ich nicht weiß, was genau passiert).
Augen waren noch träge ... Du hast doch 6x3 Zellen
26.06.2020 06:09:35
lupo1
AW: Schnellschuss: Kann es sein, ...
26.06.2020 09:14:30
Siegfried
Morgen lupo1,
ja die Bilddarstellung ist wohl etwas verwirrend, von Hajo eh schon wieder einen Anschie... eingehandelt, der gelbe Bereich ist Array-Inhalt vor dem Sortieren, der blaue Bereich nach dem Sortieren.
Ich möchte wenn irgendwie möglich nur die leeren Datensätze mal entfernen, also das Array auf die Größe kürzen was an Datensätzen mit Daten vorhanden ist um eine weitere Auswertungen zu erleichtern.
Vielleicht eine blöde Vorstellung aber es müsste/sollte doch gehen.
Gruß Siegfried
Anzeige
AW: Array leere Datensätze entfernen
26.06.2020 05:58:15
Hajo_Zi
Hallo Siegfried,
Du bist im falschen Forum. Bildbearbeitung ist ein anderes.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Schau mal hier
Eine hochgeladene Arbeitsmappe erhöht die Wahrscheinlichkeit, dass Du eine Lösung für Dein Problem erhältst.
Erstelle folglich bitte eine Demomappe, aus der deine Aufgabenstellung klar erkennbar ist und lade diese hoch.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Falls Du den Download des Forums nicht benutzen möchtest beachte bitte: von unsicheren Servern file-upload lade ich keine Datei herunter (lt. Einschätzung meines Virenprogramms)
Das ist nur meine Meinung zu dem Thema.
Falls es VBA ist sollte es nicht in die Tabelle sondern VBA Editor.

Anzeige
@Hajo: Bla, bla, bla... Bildbearbeitung owT
26.06.2020 07:20:28
Martin
AW: Array leere Datensätze entfernen
26.06.2020 10:01:44
Daniel
Hi
Wenn du ein Array zu groß dimensioniert hast und sich am Ende leere Datensätze befinden die du entfernen möchtest, dann gibt es hierfür die Funktion Redim Preserve.
Damit kannst du die Arraygröße verändern, ohne dass die vorhandenen Daten verloren gehen.
Allerdings funktioniert das immer nur mit der letzten Dimension, dh. bei zweidimensionalen Arrays mit den Spalten.
Sollte bei Zeilen gekürzt werden, müsstest du mit WorksheetFunction.Transpose vor und nach dem Redim in dem Array Zeilen und Spalten tauschen.
Die Alternativen Möglichkeiten wären:
a) neues Array in der passenden Grösse anlegen und die Inhalte per Schleife übertragen.
b) die Array-Inhalte in einen Zellbereich einfügen, dort die benötigte Größe ermitteln und den veränderten Zellbereich neu einlesen.
Gruß Daniel
Anzeige
AW: Array leere Datensätze entfernen
26.06.2020 10:37:45
Siegfried
Hallo Daniel,
ja das mit Redim Preserve hätte ich im WEB ja gefunden und eingebunden
' Ausgabe vor Sortierung
Columns(3).ClearContents
For i = 0 To UBound(OffenArr, 1)
t = ""
AnzDaten = 1
For ii = 0 To UBound(OffenArr, 2)
t = OffenArr(i, ii)  ' & "|"
AnzDaten = AnzDaten + 1
Cells(i + 1, 3 + ii) = IIf(t > "", t, "leer")
Next ii
Rem    Cells(i + 1, 3) = t
Next i
If UBound(OffenArr) > AnzDaten Then
Rem    Umschaufeln (OffenArr)
Call ReDimPreserve(OffenArr, UBound(OffenArr), Trim(AnzDaten))
End If

aber da ändert sich nichts, die beiden leeren Datensätze werden, siehe blaue Ausgabe, trotzdem aufgeführt.
Oder ich habe da in der Datenübergabe was falsch verstanden/gemacht?
Gruß Siegfried
Anzeige
AW: Array leere Datensätze entfernen
26.06.2020 10:58:56
Daniel
In der Zeile mit dem Redim Preserve stimmt gar nichts, das ist kompletter Bullshit.
Was immer du da im Web gefunden hast, das hat nichts mit der VBA-Funktion "Redim Preseve" zu tun.
Deine erste Suche sollte auch nicht wild ins WWW führen, sondern zunächst mal auf die Hilfeseiten von Excel selbst.
Da du nach deinen Angaben ja höchstens Excel 2010 haben kannst, müsste ja sogar noch die ursprüngliche Offline Hilfe vorhanden sein.
Weitern müsstest du mir nochmal erklären, warum du bei einer Zahl (AnzDaten) führende und folgende Leerzeichen entfernen willst (Trim).
Gruß Daniel
Anzeige
AW: Array leere Datensätze entfernen
26.06.2020 19:39:26
Siegfried
Hallo Daniel,
anbei einmal der Code der gefundenen Funktion
Public Function ReDimPreserve(aArrayToPreserve As Variant, nNewFirstUBound As Long, nNewLastUBound As Long) As Variant
'redim preserve both dimensions for a multidimension array *ONLY
Public Function ReDimPreserve(aArrayToPreserve As Variant, nNewFirstUBound As Long,  _
nNewLastUBound As Long) As Variant
Dim nFirst As Long
Dim nLast As Long
Dim nOldFirstUBound As Long
Dim nOldLastUBound As Long
ReDimPreserve = False
'check if its in array first
If IsArray(aArrayToPreserve) Then
'create new array
ReDim aPreservedArray(nNewFirstUBound, nNewLastUBound)
'get old lBound/uBound
nOldFirstUBound = UBound(aArrayToPreserve, 1)
nOldLastUBound = UBound(aArrayToPreserve, 2)
'loop through first
For nFirst = LBound(aArrayToPreserve, 1) To nNewFirstUBound
For nLast = LBound(aArrayToPreserve, 2) To nNewLastUBound
'if its in range, then append to new array the same way
If nOldFirstUBound >= nFirst And nOldLastUBound >= nLast Then
aPreservedArray(nFirst, nLast) = aArrayToPreserve(nFirst, nLast)
End If
Next
Next
'return the array redimmed
If IsArray(aPreservedArray) Then ReDimPreserve = aPreservedArray
End If
End Function

Kann nicht sagen ob es was taugt oder Mist ist, wegen des Trim(), erst da hat er ohne Fehler die Funktion durchlaufen, da sich aber an der Anzahl der Datensätze nichts geändert hat habe ich natürlich alles Mögliche an Werten versucht aber immer ohne Erfolg.
Gruß Siegfried
Anzeige
AW: Array leere Datensätze entfernen
26.06.2020 19:51:10
Daniel
Das mit dem Trim versteht ich auch nicht, aber das Makro macht genau das, was ich als Alternative a) genannt habe.
Kann man machen, sollte aber eigentlich jeder, der mit Arrays arbeitet, selber programmieren können.
Gruß Daniek
AW: Array leere Datensätze entfernen
26.06.2020 19:53:39
Siegfried
Hallo Daniel,
anbei meine Excel-Datei, wird Dir vermutlich die Harre aufstellen über meine Makro, aber was soll es, konnte wenn auch auf Umwegen und hohem Zeitaufwand fast immer mein gewünschtes Ziel erreichen.
Gruß Siegfried
https://www.herber.de/bbs/user/138588.zip
AW: Array leere Datensätze entfernen
28.06.2020 11:47:01
fcs
Hallo Siegfried,
ich hab mir dein Makro mal angesehen.
So schlimm war es dann doch nicht - ich hab es ja lesen können ohne zu viele Klimmzüge.
Ich hab zur Lösung deiner Probleme jetzt folgenden Ansatz gewählt:
1. Daten einlesen
die Daten zu den Öffnungszeiten werden zunächst in ein temporäres Array eingelesen, das man mit Redim Preserve dynamisch entsprechend der Anzahl Fundstellen anpassen kann.
In diesem Array ist die Zeilenzahl fix (0 bis 2) und die Spaltenzahl dynamisch (0 bis yy).
2. OffenArr füllen
Das Array OffenArr wird entsprechend der gefundenen Anzahl an Einträgen redimensioniert und die Daten aus dem temporären Array in OffenArr eingetragen.
3. Öffnungszeiten für Zieltabelle aufbereiten
Hier wird das sortierte Array OffenArr zeilenweise in 2 For-Next-Schleifen abgearbeitet.
Der Wochentag und die Öffnungszeit werden jeweils in eine Variable eingelesen.
Dann wird die Öffnungszeit mit den Zeiten der nachfolgenden Tage verglichen bis die Zeit unterschiedlich ist. Der Wochentag des letzten Tages mit der gleichen Uhrzeit wird dem 1. Tag hinzugefügt und dann Wochentag(e) und Öffnungszeit zum Ergebnis hinzugefügt.
Ich hab einiges ausprobiert, bis ich es am Ende doch in dieser relativ "einfachen" Form umsetzen konnte.
In der Textdatei findest du das angepasste Makro "Suchen_Schreiben".
https://www.herber.de/bbs/user/138606.txt
Deine Testzeilen zur Anzeige der Array-Inhalte im Tabellenblatt kannst du ja noch löschen.
LG
Franz
Anzeige
AW: Array leere Datensätze entfernen
28.06.2020 13:45:41
Siegfried
Hallo Franz
DANKE, DANKE für deine Hilfestellung, wusste nicht das man es mit einem 2D Array so machen kann wie ich es inzwischen nach umbau auf 1D Array auch gemacht habe.
Nur bei deinem ist da auslesen der Werte und Zusammenstellen des Endergebnisses natürlich um einiges leichter als beim 1D Array, musste mich einige Zeit damit spielen bis ich es auch so hatte wie bei dir.
Mir ist aufgefallen das ich nun bei meinen Daten 31 Datensätze habe die in der Öffnungszeit leer sind, Grund an allen Tagen geschlossen, dürften einen Umbau haben, muss ich noch anpassen, denn dies wäre als INFO aus dem Endgültigem POI im Navi ja doch wichtig.
Ja und 14 Datensätze haben die BACKBOX 2x eingetragen und dann Zusatzdaten wie „BACKBOX, Parkplatz, BACKBOX, Coffe-To-Go, Toilette, Meine Backwelt“, da dürfte bei meiner Abfrage auch noch was nicht stimmen, kam mir eh schon komisch vor das bei ALDI NORD 973 von 999 Filialen nur die BACKBOX haben und weder Parkplätze noch sonstiges.
Jedenfalls nochmals ein ganz festes DANKE habe wieder etwas dazu gelernt!
Gruß Siegfried
Anzeige
AW: Array leere Datensätze entfernen
28.06.2020 22:14:06
fcs
Hallo Sigfried,
Problem: geschlossene Läden
Diese haben für alle 7 Wochentage einen Eintrag und benötigen im Blatt Daten ca. 30 Zeilen.
Du hast für die For-Next-Schleife den Wert von Bis2 aber so gesetzt, dass nur 18 Zeilen durchsucht werden. Dadurch wird entsprechende IF-Bedingung nicht erreicht und die Schleife wird verlassen, ohne Werte ins Blatt einzutragen.
Hier muss man etwas anders vorgehen, und die For-Next-Schleife durch eine Do-Loop-Schleife ersetzen.
Den Bis2-Wert muss man vergrößern auf etwa x + 32 und kann ihn als Notausgang zum Verlassen der Schleife benutzen.
Zusätzlich muss auch die Auswertung des Array mit den Öffnungszeiten angepasst werden, damit ein Wert ausgegeben wird, wenn der letzte Wert mit vorherigen Werten übereinstimmt.
Problem fehlende Zusatzinfos/Angeboten
Im Blatt "Daten" sind nur Infos zu "Backofen" vorhanden. Das scheint dann ein Problem bei der Definition der Abfrage zu sein. Ob die Suchbegriffe passen musst du dann ggf. nochmals prüfen.
Den Code für diesen Abschnitt kann man etwas kompakter gestalten.
Der Eintrag erscheint im Ziel-Blatt mehrfach, wenn man das Makro ausführt ohne die vorhanden Daten vorher zu löschen.
Hier nochmals das Makro angepasst. die geänderten Zeilen/Abschnitte hab ich mit Kommentaren (##fcs) markiert.
https://www.herber.de/bbs/user/138618.txt
LG
Franz
Anzeige
AW: Array leere Datensätze entfernen
29.06.2020 07:43:48
Siegfried
Morgen Franz,
habe gestern nach dem Fernsehen noch diesen Betrag von dir gesehen und natürlich auch mal sofort getestet, selber war ich ja noch auf der Suche was die Ursache der fehlenden Öffnungszeiten sein könnte.
Ja das meine zu kleine Abfrageschlaufe da die Ursache ist, wenn überhaupt dies zu finden hätte bei mir wohl noch um einiges länger gedauert, daher auch für diese Aktion ein DANKE von mir.
Ja und mit der Do-Loop-Schleife hast du mir ja wieder einmal die Augen geöffnet was es noch alles gibt.
Hatte vor Jahren einiges in Clipper programmiert da ist mir das „Do While“ und „Do Case“ noch in Erinnerung für Excel VBA aber NEU, ich sage ja immer man lernt nie aus.
Jetzt muss ich mir nur noch im Original von ALDI ansehen warum das da mit der BACKBOX bei einigen Datensätzen nicht so funktioniert.
Gruß Siegfried
AW: Gann diesen Thres mal schliessen
29.06.2020 09:30:42
fcs
Franz
AW: Dann diesen Thread mal schliessen
29.06.2020 09:31:23
fcs
Franz
AW: Dann diesen Thread mal schliessen
29.06.2020 11:59:45
Siegfried
OK wird gemacht
AW: Array leere Datensätze entfernen
26.06.2020 10:06:52
Zwenn
Hallo Siegfried,
magst Du mal beschreiben, was Du insgesamt machst und wie Du vorgehst? Da HTML-Code in Deiner Tabelle ist, gehe ich von einem falschen Ansatz aus. Außer der hat dort einen anderen Sinn, als Daten aus ihm zu ziehen.
Darüber hinaus könntest Du statt eines Arrays ein Scripting.Dictionary verwenden. Das muss nicht dimensioniert werden und nimmt genau die Elemente auf, die Du zufügst.
https://excelmacromastery.com/vba-dictionary/
Viele Grüße,
Zwenn
AW: Array leere Datensätze entfernen
26.06.2020 10:58:21
Siegfried
Hallo Zwenn,
DANKE für den Hinweis auf „Scripting.Dictionary“, habe den LINK aufgerufen und leider dann nur mehr Bahnhof verstanden, Hi.
Ja was mache ich in meinem Tabellenblatt, ja es handelt sich um einen HTML-Code welchen ich importiert habe und der Zeile für Zeile abgesucht wird um die Werte von Name, Adresse, TelNr, Öffnungszeiten usw. auszulesen.
Da sich die Öffnungszeiten auf mehrere Wochentage aufteilen möchte ich eben versuchen dies zu vereinfachen, wenn an jedem Tag die Uhrzeiten gleich sind, dann eben nur Mo-Sa 07:40 – 18:00 z.B. und nicht wie bis jetzt etwas lang und unleserlich, siehe Bild dazu.
Nun noch zu deinem „Scripting.Dictionary“, bin 76 Jahre und da ist es mit Englisch leider nicht weit her, wenn ich die Anleitung im LINK verstehen möchte/sollte müsste ich mir alles erst übersetzen und ob sich dieser Aufwand lohnt bezweifle ich.
Gruß Siegfried
P.S.
Wirst dich wahrscheinlich fragen wozu braucht der den diese Daten, sind über 10 Jahre Wohnmobilfahrer und in EU viel unterwegs, daher bereite ich mir aus diesen Daten meine POI-Daten für das Navi auf. Bis vor einigen Jahren war ja bei den verschiedenen Discountern der Datendownload ihrer Filialen möglich, aber jetzt leider nicht mehr, denn alle sind der Meinung mit dem Handy könnte man auch zum Ziel kommen.
Da diese Handy-APP’s aber keine Fahrzeugabmessungen bei der Routenberechnung berücksichtigen ist mir mein WoMo eben zu kostbar, für einen PKW würde es ja natürlich reichen.
Userbild
AW: Array leere Datensätze entfernen
26.06.2020 11:29:43
Daniel
Hi
Ein Dictionary ist im Prinzip ein eindimensionales Array, bei dem man keine feste Dimensionierung mit Zahlen von-bis als Index hat, sondern einen beliebigen Freitext als Index verwenden kann.
Man muss vorher nichts dimensionieren, der Datensatz wird automatisch angelegt, wenn ein Index das erste mal verwendet wird.
Wenn man das Prinzip mal verstanden hat, lassen sich damit schon viele Sachen schnell und effizient programmieren.
Könnte für Öffnungszeiten so aussehen:
Dim Öffnungszeiten as Object
Set Öffnungszeiten = CreateObject("Scripting.Dictionary")
Öffnungszeiten("Montag") = "10:00 - 18:00"
Öffnungszeiten("Dienstag") = "13:00 - 20:00"
With Range("A1").Resize(Öffnungszeiten.Count, 1)
.Value = WorksheetFunction.Transpose(Öffnungszeiten.Keys)
.Offset(0, 1).Value = WorksheetFunction.Transpose(Öffnungszeiten.Items)
Ende With
Gruß Daniel
AW: Array leere Datensätze entfernen
26.06.2020 18:06:43
Zwenn
Hallo Siegfried,
was ein Scripting.Dictionary ist und wie es grundsätzlich funktioniert, hat Daniel ja schon erklärt.
Um Texte zu übersetzen gibt es inzwischen ja schon sehr gute Algorithmen. Ich nutze meistens DeepL:
https://www.deepl.com/translator
Du kannst ja testweise mal das Inhaltsverzeichnis aus der "Anleitung" für Dictionaries kopieren und einfach in den Übersetzer "werfen". Das Ergebnis ist gut, sogar die Struktur bleibt erhalten.
Ich finde den Aufwand sehr überschaubar :-) Zumal man auch nicht alles bis ins Detail lesen und verstehen muss. Du kannst einfach die Abschnitte übersetzen lassen, die Dir interessant erscheinen. Das nur als Tip, wenn es um eine Sprache geht, die man nicht beherrscht. Mir geht es mit Französisch so und damit habe ich für einen Kunden regelmäßig zu tun.
Ich fragte nach dem HTML-Code, weil man Werte aus HTML-Seiten auch direkt auslesen kann. Sind Deine gewonnenen Daten alle von einer Webseite oder hast Du die mühsam aus mehreren zusammengesucht? Falls das nur ein oder zwei Quellen sind, würde ich mir das mal ansehen, falls Du die Links hier posten kannst.
Es wäre auch hilfreich, wenn Du eine Beispieldatei mit Deinem Code und einigen Daten hier hochladen kannst, damit man mal den Gesamtzusammenhang sieht.
Zu der WoMo Sache:
Meine Eltern sind in Deinem Alter und waren auch viele Jahre mit ihrem Wohnmobil unterwegs. Jetzt ganz aktuell haben sie es aus gesundheitlichen Gründen wegegeben. Es bleibt zwar in der (erweiterten) Familie, aber mein Vater brauchte schon einige Zeit, um mit dem Kapitel abzuschließen. Ich persönlich kann mit Urlaub mit WoMo zwar nicht viel anfangen, habe aber verstanden, was es für andere bedeutet, diese tolle Unabhängigkeit zu haben.
Von daher gesehen finde ich Dein Projekt eine echt gute Sache :-)
Viele Grüße,
Zwenn
AW: Array leere Datensätze entfernen
26.06.2020 19:52:41
Siegfried
Hallo Zwenn,
DANKE für den Hinweis auf "DeepL", werde ich mir mal ansehen.
Anbei meine Excel-Datei, wird Dir vermutlich die Harre aufstellen über meine Makro, aber was soll es, konnte wenn auch auf Umwegen und hohem Zeitaufwand fast immer mein gewünschtes Ziel erreichen.
Gruß Siegfried
https://www.herber.de/bbs/user/138588.zip
AW: Array leere Datensätze entfernen
01.07.2020 00:21:53
Siegfried
Hallo Zwenn,
nun würde gerne auf dein gemachtes Angebot zurückkommen bezüglich HTML-Code (magst Du mal beschreiben, was Du insgesamt machst und wie Du vorgehst? Da HTML-Code in Deiner Tabelle ist, gehe ich von einem falschen Ansatz aus. Außer der hat dort einen anderen Sinn, als Daten aus ihm zu ziehen.) mein Weg ist derzeit natürlich etwas sehr Zeitaufwendig als auch Arbeitsintensiv.
Ich rufe mir die Webseite von ALDI auf
https://www.aldi-sued.de/filialen/de-de/Search?SingleSlotGeo=deutschland&Mode=None
und verschiebe dann immer ein Kartenblatt nach dem anderen noch oben bis ich an de NLD Grenze bin, dann das Ganze eine Kartenbreite nach rechts und den Weg hinunter bis zu AUT Grenze, dann wieder einmal nach rechts und wieder rauf usw., bis ich so hoffe ich gesamt DEU abgelesen habe.
Ja und nur mit dieser Methode ist es mir gelungen, wenn du mit der Maus in der „Ergebnis“-Spalte dich befindest und über re. Maustaste „Speichern unter“ abgespeichert.
Diesen Files hänge ich dann ein *.txt an und importiere sie in Excel mit den Einstellungen UTF-8 und nur Text und kann sie dann über das erstellte Makro auswerten.
Ich kann nicht sagen ob es eine leichtere und schnellere Möglichkeit gäbe ?
Userbild
Bei unseren Filialen in AUT haben wenigstens alle auf einem Bild Platz.
AW: Array leere Datensätze entfernen
01.07.2020 11:41:21
Zwenn
Hallo Siegfried,
da ich gerade eine Datenbank schwitzen lasse, habe ich mir die Zeit genommen, mir die Aldi-Süd Seite anzusehen. Da wirklich alle Filialen zu erwischen, gleicht einer Art Glücksspiel oder man fragt ganz gezielt alle Orte ab. Das kann man sich aber sparen, indem man die Quelle wechselt:
https://filialfinder.cylex.de/brand/Aldi%20S%c3%bcd/A
Dort sollten sich alle Infos finden lassen die Du haben möchtest. Zum manuellen Abarbeiten ist das Wahnsinn, aber zum Automatisieren wie gemacht. Es ergibt sich ein 3-Ebenen-System:
  • Die "Buchstabenseiten" aufrufen, alle Links einsammeln (A ist die verlinkte)

  • Alle Links durchgehen und für jede Filiale den "Details & Öffnungszeiten" Link einsammeln

  • Alle Filial-Links abklappern und die gewünschten Infos auslesen

  • Der Oberbegriff zur Umsetzung heißt WebScraping. Das kann ich Dir leider nicht mal eben erklären, weil da mehrere Dinge zusammen kommen. Ich habe das kürzlich etwas flapsig hier beschrieben:
    https://www.herber.de/forum/cgi-bin/callthread.pl?index=1762099#1762177
    Auf der Cylex Seite findet man auch die Filialen zu Aldi-Nord. Allerdings habe ich bei meinen Stichproben nicht gesehen, ob die Infos wie "Parkplatz", "Backshop", usw. sich auf den Detailseiten befinden. Ich denke nein. Aber auch auf der Aldi-Nord-Seite findet man nur "Backshop" oder ich habe einfach die falschen Filialen aufgerufen. Das war hier im Thread ja aber auch schon Thema, zu dem Du Dich mit Franz ausgetauscht hast, wenn ich es richtig im Kopf habe.
    Schau Dir die Cylex-Seite mal an. Vor allem die Detailseiten und sag mir, ob da zu finden ist, was Du brauchst und wenn ja, welche Informationen das alles sind. Das mit der Konsolidierung der Öffnungszeiten ist dabei klar.
    Dieser Thread verschwindet Übermorgen im Archiv. Wir können dann über einen neu zu eröffnenden weiter machen. Vielleicht hat noch der ein oder andere der Kollegen Ideen dazu, der auch mit WebScraping unterwegs ist.
    Viele Grüße,
    Zwenn
    AW: Array leere Datensätze entfernen
    01.07.2020 12:37:31
    Siegfried
    Hi Zwenn,
    DANKE für diesen neuerlichen Hinweis, werde es mir am Abend ansehen, jetzt geht es einmal in den Garten.
    Gruß Siegfried

    6 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige