Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie kann ich. csv Daten/hyperlinks downloaden

Forumthread: Wie kann ich. csv Daten/hyperlinks downloaden

Wie kann ich. csv Daten/hyperlinks downloaden
03.09.2024 22:37:56
Michi
Guten Abend zusammen

Bin ganz ganz neu hier :-)

Habe viele Leute schon nach hilfe gefragt zu meinem Problem, niemand wusste eine Lösung..

Folgendes Problem habe ich zu bewältigen:

Habe auf einer Schweizer Seite Höhendatenkarten runter geladen. Damit ich nicht alle Quadrate einzeln muss, habe ich das ganze Land ausgewählt und wurde dann als .csv Datei bereit gestellt.
Jetzt habe ich eine Excel Tabelle mit 43260 "inaktiven" Links.
Muss jeder Link mit doppelklick aktivieren (Hyperlink) und dann mit weiterem doppelklick, kann ich dann die Datei downloaden. Bei 43260 Links geht das eine ewigkeit.


Gibt es eine Möglichkeit, alle Links gleichzeitig zu "aktivieren/hyperlinks" und zu Downloaden?



Liebe Grüsse Michi
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie kann ich. csv Daten/hyperlinks downloaden
03.09.2024 23:34:52
Zwenn
Hallo Michi,

zum "aktivieren" der Links alle Zellen markieren, in denen Du Links aus dem Zellinhalt erstellen willst. Dann das folgende Makro starten.



Sub LinksAusZellenBildenHTTPvorhanden()
'
' LinksAusZellenBilden Makro
' Makro am 04.05.2015 von Zwenn erstellt
'
For Each cell In Selection
ActiveSheet.Hyperlinks.Add Anchor:=cell.Offset(0, 0), Address:=cell.Value, TextToDisplay:=cell.Value
Next
End Sub


Um die Dateien automatisiert runterzuladen ist "das aktivieren" allerdings nicht notwendig. Ob das automatisierte runterladen allerdings überhaupt funktionieren kann hängt vom Server ab, der die Dateien bereit stellen wird und wie er sie bereitstellt. Du wirst also eine Beispieldatei hier hochladen müssen, die einen relevanten Ausschnitt Deines Vorhabens zeigt.

Viele Grüße,

Zwenn
Anzeige
AW: Wie kann ich. csv Daten/hyperlinks downloaden
04.09.2024 19:48:30
Michi
Guten Abend Zwenn
Vielen Dank für deine Hilfe
- Habe das vorgehen mit dem Makro ausprobiert.
Bekomme die Meldung:

Code kann im Haltemodus nicht Ausgeführt werden

Habe ich was falsch gemacht?

Kann die Datei nicht hochladen. Die Datei ist von:

https://www.swisstopo.admin.ch/de/hoehenmodell-swissalti3d

Dort sind die Höhendaten die ich downloaden möchte

Gruss Michi
Anzeige
Zwischenfrage
04.09.2024 23:28:08
Zwenn
Hallo Michi,

die Fehlermeldung taucht wohl auf, wenn noch ein Makro läuft. Keine Ahnung was da bei Dir los ist. Ich habe das mit den 43.000 URLs ausprobiert und es läuft ohne zu zicken durch (Office 365). Nun hast Du angegeben kaum Excel/ VBA Kenntnisse zu haben. Ich weiß also nicht, was Du gemacht hast, um das Makro "in Betrieb" zu nehmen und es auszuführen. Das ist aber auch erst einmal egal. Denn wie ich schon geschrieben habe, ist das direkte Anklicken nicht notwendig, um Dateien automatisiert runterzuladen. Soweit ich es jetzt geprüft habe, macht das auch gar keinen Sinn.

So, an dieser Stelle zunächst einmal ... Was für ein unfassbar geiler Geo-Datensatz! Das ist echt der Vollhammer. Die Schweiz runter bis zu 0,5 m Schritten für das gesamte Höhenprofil ohne Bewuchs. HAMMER!.

Ich habe erst einmal rausfinden müssen, was es mit den TIF und vor allem XYZ Dateien auf sich hat. TIF ist klar, das sind Bilder, mit denen man in der Menge aber nicht viel anfangen kann. Mit 2 m Raster haben die 500x500 Pixel, mit 0,5 m Raster haben die 2.000x2.000 Pixel. Bei etwas über 43.000 Bildern ergibt das eine irrsinnig große Fläche. Ok, kann man vermutlich auch automatisiert weiter verarbeiten, wenn man weiß, was die einzelnen Kacheln abbilden.

Aber ich gehe davon aus, Du benötigst die XYZ Dateien, von denen ich dann auch heraus gefunden habe, dass das die Achsen im (Geo-)Raum sind, als ich die Beispieldatensätze gefunden hatte. Das sind einfach Textdateien, die aber bei "Ganzer Datensatz" im Download nach dem Entpacken des jeweiligen ZIP Archivs fast 120 MB haben. Die ganze Schweiz in 0,5 m Messpunkten. Wie gesagt, ein Hammer. Ich gehe davon aus, auf diese Daten hast Du es abgesehen. Darf ich erfahren, was Du damit vor hast?

Die Frage, die ich eigentlich in diesem Posting stellen will:
Brauchst Du die XYZ Dateien? Weil die nur als ZIP Archiv runtergeladen werden können, macht es dann Sinn, das jeweilige Archiv sofort nach dem Download zu entpacken. Oder hast Du dafür bereits eine andere Lösung zur Weiterverarbeitung? Ich müsste mich sonst drum kümmern, dass die Dateien Ent-ZIPt werden. Sonst hast Du nämlich das gleiche Problem wie vorher. 43.000 Dateien auf der Platte, mit denen Du als ZIP nix anfangen kannst.

Anschlussfrage falls Du die ZIPs für die XYZ-Dateien brauchst:
Arbeitest Du privat und kannst Software installieren wie Du lustig bist oder bist Du durch Admins im Büro (zu Recht) reglementiert? Lösungen zum Entzippen sollten eigentlich auch mit Windows-Eigenen Mitteln möglich sein, aber ich habe vor allem welche für das Programm 7zip gefunden. Im Zweifelsfall müsstest Du das installieren können. Ansonsten muss ich "weiter forschen".

Das sind meine Fragen, bevor ich überhaupt getestet habe, ob sich die Dateien überhaupt automatisiert runterladen lassen ;-) Aber ich finde den Datensatz so unfassbar cool.

Viele Grüße,

Zwenn
Anzeige
AW: Zwischenfrage
05.09.2024 07:06:53
Michi
Guten Morgen Zwenn

Vielen Dank für deine Hilfe. Also würde es gehen, wenn ich es richtig hinbekommen würde ;-D

Im Makro, wurde beim 2. Versuch ein anderer Fehler angezeigt. Dabei wurde im Makro die "Befehlszeile" gelb eingefärbt und ein Kreis wurde ganz links gesetzt.

Die Daten sind gedacht für ein Eisenbahnsimulator (Trainz19/Tane), wo man frei bauen kann. Meine Idee ist die Schweiz nachzubauen, mit richtigen Höhen usw.

Verarbeite die Daten als .tif, möglich ist aber auch .xyz


Werde es demfall heute Abend nochmals versuchen.

Arbeiten kann ich frei, selber Administrator/Privat.

Schöner Tag wünsche ich

Michi
Anzeige
AW: Zwischenfrage
05.09.2024 21:03:48
Michi
Guten Abend Zwenn

Habe das ganze nochmals versucht. Habe folgendes eingegeben:

Sub LinksAusZellenBildenHTTPvorhanden()
'
'LinksAusZellenBilden Makro
'Makro am 04.05.2015 von Zwenn erstellt
'
For Each cell In Selection
ActiveSheet.Hyperlinks.Add Anchor:=cell.Offset(0, 0), Address:=cell.Value, TextToDisplay:=cell.Value
Next
End Sub

Als erstes kommt die Meldung:

Laufzeitfehler '5':
Ungültiger Prozeduraufruf oder ungültiges Argument


wenn ich dann auf Debuggen drücke, geht das Makro auf und folgende Zeile ist Gelb hinterlegt:

ActiveSheet.Hyperlinks.Add Anchor:=cell.Offset(0, 0), Address:=cell.Value, TextToDisplay:=cell.Value

Links neben der Zeile ist ein Gelber Pfeil der auf die Zeile zeigt

Weiter komme ich ohne Hilfe nicht ;-D viel zuwenig Ahnung von der Materie

Gruss Michi
Anzeige
AW: Zwischenfrage
08.09.2024 16:41:27
Zwenn
Hallo Michi,

vermutlich hast Du schon mehrfach hier reingeschaut. Leider habe ich erst heute Zeit gefunden das Makro für den Download der TIFs für Dich fertig zu stellen. Es funktioniert gut, wird aber Zeit brauchen. Ich habe einige Tests angestellt, um den benötigten Speicherplatz und die benötigte Zeit grob abzuschätzen. Ich habe 1.500 TIFs runtergeladen. Pro Bild wurden im Durchschnitt 9,42 MB Speicherplatz benötigt. Hochgrechnet auf die 43.630 Bilder ergibt das einen Bedarf von etwa 400 GB. Das ist im Endeffekt nur eine Schätzung, weil ich nicht weiß wie groß die größten Dateien sind und in welcher Anzahl sie im späteren Verlauf auftauchen werden.

Da ich die ersten 300 Bilder in meinen Tests öfter runtergeladen habe, waren diese zum Schluss immer sehr schnell auf der Platte, weil die vermutlich in irgend einem Cache bereits zur Verfügung standen. Deshalb habe ich die Zeitabschätzung auf die letzten 1.000 runtergeladenen Bilder bezogen. Dafür wurden mit einer 50 MBit/s Leitung etwa 40 Mnuten benötigt. Das sind pro Bild im Durchnitt etwa 2,4 Sekunden. Auf 43.630 Bilder hochgerechnet liegt der Zeitbedarf damit bei etwa 29 Stunden. Wie bereits oben zum Speicherplatz erwähnt, ist der echte Zeitbedarf davon abhängig, ob die Dateien in etwa gleich groß bleiben oder ob es starke Schwankungen gibt.

Ich habe Dir die Verzeichnisstruktur des kleinen Projektes zum Download in ein ZIP-Archiv gepackt, das Du durch Klicken auf den Link unten aus meiner Dropbox runterladen kannst. Entpacke das Archiv auf Deinem Rechner auf einem Laufwerk, auf dem genug Seicherplatz vorhanden ist. Ich würde zur Sicherheit mit 500 GB rechnen. Im Verzeichnis SchweizHoehenprofilTIFs findest Du zwei weitere Verzeichnisse. OriginalCSVs, in dem die beiden CSVs für die TIF und die XYZ Links liegen. Die habe ich nur der Vollständigkeit halber mit abgespeichert. Weiterhin gibt es das Verzeichnis TIFs. Dieses ist leer, es wird für die Downloads der TIFs verwendet. Das Makro verwendet die Verzeichnisse automatisch, egal wo Du das ZIP-Archiv entpackst.

Schließlich findest Du noch die Datei ch.swisstopo.swissalti3d-3IFBDlTL.xlsm. Das xlsm am Ende steht für das Dateiformat, in dem Excel auch Makros speichern kann. In CSVs geht das nicht, weil das reine Textdateien sind, die gar nix mit Excel zu tun haben. Darin können auch keine Formatierungen oder anklickbare Links gespeichert werden. Du öffnest die Datei, in der Du nur eine Tabelle findest, die genau so heißt, wie die Datei, nur ohne Dateiendung. Das ist der Name der verwendeten CSV-Datei. Ich habe ihn für die evtl. spätere Zuordnung so belassen.

In Spalte A sind alle anklickbaren Links zu den TIFs abgelegt. Wie schon geschrieben, ist das mit dem Anklickbar nicht notwendig, damit das Makro funktioniert. Denn das Makro klickt nix. Ich habe das nur so gemacht, weil Du es gerne wolltest. In Spalte B wird der Erfolg eines Downloads hinterlegt. Dabei bedeutet runtergeladen, dass die Datei erfolgreich gespeichert wurde und fehlgeschlagen, dass der Download nicht geklappt hat.

Bei solchen automatisierten Downloads ist die Unbekannte immer, dass man die Reaktion des angesprochenen Servers nicht kennt. Ich konnte erfolgreich 1.500 Bilder am Stück runterladen. Es kann aber sein, dass der Server irgendwann sagt, Jetzt reichts mein Freund, und Deine IP sperrt oder sonstige Schutzmaßnahmen auslöst, wie z.B. Captchas schalten (was Du nicht sehen könntest, weil kein Browser verwendet wird). Dann wird das Makro stehen bleiben oder nur noch fehlgeschlagen ausgeben. Tritt dieser Zustand ein, kannst Du das Makro durch halten der ESC-Taste unterbrechen. Das funktioniert vermutlich nicht, wenn es sich aufgehängt hat. Dann musst Du Excel über den Taskmanager aus dem Speicher kicken.

Zur Sichtkontrolle habe ich dafür gesorgt, dass die Tabelle während des Makrolaufs mitscrollt. Du weißt also zu jeder Zeit genau, wo Du gerade stehst. Wenn mal ein paar Minuten scheinbar nix passiert, unterbrich das Makro nicht direkt. Das hatte ich bei meinen Tests auch. Das können Verbindungsprobleme im Hintergrund sein oder sonst was, weil der Rechner sich um andere Dinge kümmert. Es ist durch diesen Mechanismus egal an welche Stelle die Tabelle beim Start des Makros gescrollt ist, als aller erstes wird die richtige Zelle angesprungen, wodurch Du immer automatisch die richtige Zeile sehen wirst.

Um im Fall einer harten Unterbrechung, ohne die Möglichkeit den aktuellen Stand zu sichern, den Fortschritt in Spalte B zu erhalten, wird die Arbeitsmappe automatisch nach jedem 100sten Download gespeichert. Es gehen also maximal 99 Einträge in Spalte B verloren, was sehr überschaubar ist bei über 43.000 Downloads. Warum ist das wichtig? Weil ich eine weitere Maßnahme eingebaut habe, die Dir das Leben erleichtert. Sollte es zu Komplikationen kommen und Du musst die Arbeitsmappe schließen oder Du willst den PC runterfahren, weil Du ihn nicht durchlaufen lassen willst/ kannst, bis alles fertig ist, kannst Du die Arbeitsmappe einfach wieder öffnen wann Du willst und auf den Button Starten/ Weiter oben links in der Kopfzeile klicken. Die Downloads gehen dann an der Stelle weiter, an der das Makro unterbrochen wurde (letzter Speicherstand). Dazu "guckt" das Makro nach, ob in der jeweiligen aktuellen Zeile in Spalte B das Wort "runtergeladen" eingetratgen ist oder nicht. Ist es eingetragen wird die Zeile übersprungen, wenn nicht, dann wird der Download vorgenommen.

Den Start/ Weiter Button habe ich nun schon erwähnt. Du brauchst also nix anderes, als die reine Tabelle, um alles bewerkstelligen zu können, was Du für die Downloads brauchst. Sollte der Server irgendwann Downloads verweigern, kann es sein, dass es erst nach einiger Zeit wieder geht. Das können 10 Minuten sein oder einige Stunden. Im Zweifelsfall versuche erst nächsten Tag weiter zu machen und (falls möglich) eine neue IP-Adresse zu beziehen.

Ich habe mir einige der TIFs angesehen und viele davon sind einfach weiß. Aber die Speichergröße schwankt erheblich zwischen ein paar 100 KB und fast 20 MB. Ich nehme an, da liegen "irgendwie" die Höhenprofildaten drin, mit denen Du etwas für Dein Simulationsprojekt anfangen kannst. Als Grundlage habe ich die CSV mit der Auflösung von 0,5 m genommen. Wenn Du die mit 2 m willst, kannst Du die Links in Spalte A einfach löschen und die Links aus der anderen 2 m CSV einfügen (die müsstest Du noch selber runterladen). Dann fehlt zwar das "Anklickbare", aber wie nun schon mehrfach geschrieben, für das Makro ist das egal.

Ich hoffe das alles klappt. Hier noch der Link auf den Download in der Dropbox:
https://www.dropbox.com/scl/fi/ci7qbrt72vu9395qn44hc/SchweizHoehenprofilTIFs.zip?rlkey=08mk0ro0so68ife79u4j61lbx&dl=0

Viele Grüße,

Zwenn
Anzeige
AW: Zwischenfrage
08.09.2024 18:20:27
Michi
Weiss nicht wie ich dir Danken soll Zwenn! Vielen HerzlicheDank

im Moment bei Datei 1300 runterladen, hat 10min gedauert.

Lasse den Download auf eine externe festplatte laufen. rechne auch mit ca 450GB.
Läuft perfekt.

Was mir aufgefallen ist. Auch das Laufwerk C wird mitetwas aufgefüllt. dort habe ich nurnoch100GB frei. Weiss nicht was dort drauf geladen wird.
Problem dassLaufwerk ist bald speicherplatz voll.

Gruss Michi
Anzeige
AW: Zwischenfrage
08.09.2024 18:40:16
Zwenn
Schön, dass es funktioniert und auch noch so schnell :-)

Es kann sein, dass die Bilder auf C während des Downloadvorgangs zwischengespeichert werden und erst gelöscht werden, wenn Excel beendet wird. Das habe ich nicht kontrolliert. Ich nehme an, den Benutzernamen Deines Windows-Benutzerkontos kennst Du. Dann gib mal den Pfad unten in den Explorer ein. Wenn Du in dem Verzeichnis bist, alles markieren und löschen. Das sind nur temporäre Dateien. Die die das System aktuell in Benutzung hat können nicht gelöscht werden. Stelle aber sicher, dass Du im richtigen Verzeichnis bist:

C:\Users\DEINWindowsBenutzername\AppData\Local\Temp
Anzeige
AW: Zwischenfrage
08.09.2024 18:50:17
Michi
Hallo Zwenn

Habe es länger beobachtet, es gibt ca. alle 15minuten, wieder speicherplatz frei.Weiss nicht ob die Temp daten automatisch gelöscht werden.
Nach gut 45min bei Datei 3900. ca pro Sekunde 2 Dateien download.

wünschte verstünde mehr von dieser programmier Tätigkeiten, sehr interessant was man da so machen kann.
Anzeige
AW: Zwischenfrage
08.09.2024 22:53:10
Zwenn
Ok,

dann scheint ja alles gut gegangen zu sein. Bei Deiner Geschwindigkeit müssten alle Downloads nach 8 bis 9 Stunden durch gewesen sein^^ Lebst Du in der Schweiz? Kann natürlich sein, dass der Server innerhalb der Schweiz besser auf Anfragen reagiert. Du wohnst aber auf jeden Fall in einem Gebiet, in dem der Breitbandausbau um Längen besser ist, als bei mir in Berlin
Anzeige
AW: Zwischenfrage
08.09.2024 23:23:42
Michi
Ja wohne in der Schweiz, im Kanton Obwalden. Wir haben Glasfaseranschluss bis ins Haus, möglich zu bestellen beim Telekommuniaktions anbieter, bis 10GB Anschluss, habe 500MB, reicht völlig aus.

Ja nach 4.5h waren nicht ganz 21500 Dateien heruntergeladen, etwas mehr als 300GB. Denke wird doch über 600GB Daten geben XD, und das nur mal höhenkarten. Danach kommen noch landschaftskarten dazu, damit man genai nach kordinaten bauen kann und die konturen schon durch die Karten sieht, wo wald usw hinkommt.

Denke brauche dann noch eine platte mit mehr als 2 TB;-D
Anzeige
AW: Zwischenfrage
09.09.2024 14:52:43
Zwenn
Dann braucht es sogar noch mehr Speicherplatz, als prognostiziert und mit 100 GB "Sicherheitsreserve" gerechnet. Da überlege ich, wenn Du die XYZ Dateien genommen hättest, da haben alle meine Tests 120 MB entpackt ergeben. Das wären etwa 5 TB.

Nun brauchst Du noch die Landschaftskarten. Ich nehme an von der gleichen Seite? Habe mich da gestern noch etwas umgesehen. Das werden dann vermutlich nicht so viele. Aber es sind alles ZIP-Archive, die dann auch entpackt werden müssen. Oder kann die Simulationssoftware so mit den ZIPs umgehen? Das Makro selbst kannst Du auch zum Download der neuen Links aus einer runtergeladenen CSV verwenden.
Anzeige
AW: Zwischenfrage
10.09.2024 08:32:50
Michi
Hallo Zwenn

Kann über das Programm direkt landschaftskarten hinzufügen, von verschiedenen Kartenanbietern auswählen (Google, Swisstopo, usw.)

Die ganzen arbeiten werden jetzt nocj ein paar wochen in beschlag nehmen. Bis ich die Daten ins Simulationsspiel integrieren kann und zu einer grossen Schweizer karte zusammenfügen kann.
Einzelne test funktionierten sehr gut.

Was noch schwierigkeiten macht: sehe natürlich en Höhendaten von aussen nicht an, von welchem Teil Schweiz sie sind. Da man die kordinaten nicht sieht. Ich muss so quadrate machen können, damit ich die in dem Spiel gut zusammenfügen kann.
Mal schauen wie das geht.

Vielen Dank nochmals für deine sehr wertvolle hilfe
Anzeige
;
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige