Office: Große Textdatei einlesen und auswerten

Helfe beim Thema Große Textdatei einlesen und auswerten in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich wollte eine Web Logdatei einlesen und dann analysieren. Aber ich weiß noch nicht wie da genau vorgehen soll. Das Problem ist einmal dass die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Donald2, 11. März 2011.

  1. Große Textdatei einlesen und auswerten


    Hallo,
    ich wollte eine Web Logdatei einlesen und dann analysieren. Aber ich weiß noch nicht wie da genau vorgehen soll. Das Problem ist einmal dass die Web Logdatei 7mb groß sein kann wenn nicht noch viel größer und dass in der Logdatei keine Zeilenumbrüche sind.
    Das einlesen in eine Variable dauert schon etwas, aber das kann man wohl verkraften. Ich mach das mit diesem Code:
    Code:
    Die Datei hat sehr viele Eintrgäe zu Webseiten zugriffe. Wenn ich die auswerten will, dann müsste ich ja immer die große Varible "gInhalt" durchsuchen. Und das könnte per Funktion sehr oft passieren. So eine große Variable so oft zu durchsuchen könnte doch sehr lange dauern, was wären die Alternativen?

    :)
     
    Donald2, 11. März 2011
    #1
  2. Hallo Donald,

    lade doch ein Beispiel der Logdatei (ein paar Hundert Zeilen) hoch und beschreibe, was ausgelesen werden soll und wie du dir die Ausgabe vorstellst.




    Gruß Sepp
     
    josef e, 13. März 2011
    #2
  3. In Deine Variable lädst Du nur eine Zeile, das kann so groß nicht sein.
    Die gesamte Textdatei kann man so und schnell laden: Beliebige Datei einlesen
    Vor einem Vorschlag sollte man wissen, was man worin sucht.
     
  4. Große Textdatei einlesen und auswerten

    Meine Güte du schon wieder. Ich habe doch geschrieben dass die Datei keine Zeilenumbrüche hat, also ist der ganze Inhalt der Datei eine einzige Zeile! Und was ich durchsuchen will weiß ich genau.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Donald2, 13. März 2011
    #4
  5. Ok, mit der Funktion geht es schonmal viel schneller.
    Jetzt ist der ganze Inhalt in einer Datei. In der Datei sieht stark verkleinert so aus: 151.48.123.70 - - [08/Dec/2007:00:00:41 -0800] "GET /order/?ref=002 HTTP/1.1" 200 3467 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" smsync.com 151.48.123.70 - - [08/Dec/2007:00:00:42 -0800] "GET /img/logo.gif HTTP/1.1" 200 3147 "SmartSync Pro Order, Free File Synchronization, Backup, Data Replication, PC Sync Software, Freeware, File Sync, Data Synchronization Software" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"

    Im Beispiel sind 2 Zugriffe auf den Webserver, beide kommen von der IP 151.48.123.70. Jetzt will ich den Inahlt der Variable von links nach rechts Zeichenweise durchsuchen. Damit ich die Informationen gegebenenfalls in eine Collection speichere, oder gleich in eine Exceltabelle. Die Informationen wie Quelle (151.48.123.70), Datum oder Zugriff sind in dem Beispiel entweder durch ein Leerzeichen getrennt, in eckigen Klammern oder in Doppeltenhochkommern eingeschlossen. Deshalb will die Variable von links nach rechts einlesen und wenn ich dann z.B. bei eine eckige Klammer treffe, will ich den Inhalt analysieren und vielleicht speichern, danach soll er aber da wo er aufgehört in der Varibale fortfahren. In der Logdatei sind sehr viele IP Adressen, vielleicht 1 Millionen. Deswegen ist wohl besser die Variable von links nach rechts zu lesen.
    Ich könnte die Variable auch zurück in eine neue Datei schreiben, aber die Variable vorher so ändern dass sie Zeilen-Umbrüche hat und die neue Datei dann zeilenweise einlese. Vielleicht gibt es noch eine bessere Lösung?
     
    Donald2, 13. März 2011
    #5
  6. Durch wiederholte Darstellung zeigst Du ja genau, was Du unbedingt machen willst. Allerdings würde ich bei einem zeichenweisen Durchlauf von 7 MB, garniert mit einigen Prüfungen, auch vermuten, dass das eine längere Zeit dauert.
    Ich selber würde hier Regular Expressions versuchen, findbar z.B. unter dem Stichwort "intelligente Textanalyse".
    Mir ist nicht klar geworden, was woraus gefunden werden soll. Das ist aber auch nicht wichtig. Du kommst zurecht, nicht wahr?
     
  7. Kann man denn auch Zeilenweise aus einer Variable lesen (wenn sie Zeilenumbrüche hat) wie es in einer Datei geht?
    wie gesagt such ich nach einer Technik eine große Variable immer Stückweise auszulesen, analysieren wird nicht das Problem sein. Geht das auch mit der "intelligente Textanalyse"? Ich such mal danach, ansonsten für die obige Frage such ich noch eine Lösung
     
    Donald2, 13. März 2011
    #7
  8. Große Textdatei einlesen und auswerten

    gibt es denn an der Stelle in der Datei, wo der Zeilenumbruch sein sollte, irgendein anderes Zeichen? Ich hatte mal Textdateien, die an der Stelle ein kleines Quadrat gezeigt haben im Texteditor. Mit der Replace Funktion konnte ich dann den Zeilenumbruch einfügen als ich wußte welchen chr-Wert das Zeichen hatte.

    Kurioserweise hatte Winzip seinerseit nach Zippen und entzippen den Zeilenumbruch eingefügt. Vielleicht auch mal sowas probieren.
     
    Micha_DU, 13. März 2011
    #8
  9. Ja gibt es, habe für meine Variable auch folgende Funktion benutzt: Code:
    Habe die neue Variable in eine Datei geschrieben und dann neu eingelsen. Aber das Zeilenweise einlesen dauert länger, deshalb suche so was ähnliches für eine Variable.
     
    Donald2, 13. März 2011
    #9
  10. dürfte meiner Meinung nach kaum funktionieren, da man in einer Variablen nach Inhalt suchen kann... der Zeilenumbruch an sich wird hier ja auch über Zeichen dargestellt, nicht als sichtbarer Zeilenumbruch.

    Eine neu erzeugte Textdatei könntest du natürlich in Access als Tabelle verknüpfen und dann gegebenfalls mit Abfragen arbeiten. Ansonsten wirst du wohl kaum am zeilenweise einlesen vorbeikommen...

    Performance-steigernd dürfte noch sein, wenn die Textdatei lokal auf Platte liegt und nicht im Netz.
     
    Micha_DU, 13. März 2011
    #10
  11. Hallo Donald2,

    so vllt:
    Code:
    Sub b()
    teile = Split(gInhalt, "- - ")
    For Each teil In teile
    Debug.Print teil
    Next
    End Sub


    mfg Anton
     
    _anton_, 13. März 2011
    #11
  12. Hallo _anton_,
    ich werde es später mal ausprobieren, sieht aber gut aus. Vielleicht genau das was ich brauche.
     
    Donald2, 13. März 2011
    #12
  13. Große Textdatei einlesen und auswerten

    Wenn man eine große Datenmenge zeichenweise, stückweise, zeilenweise auslesen will, so dauert das immer - ich las, Du wolltest eine performante Methode? Bei einer Schleife kann man nicht einfach "Gas geben", wohl aber eine Menge Bremsen einbauen (Prüfungen, Vor- und Zurückspringen u.ä.).

    Tempo gewinnt man durch
    - Massendatenverarbeitung: Alles auf einmal statt jedes Element einzeln (Bagger statt Sandschaufel).
    - Indexnutzung: Verwendung von Objekten, die eine Indexnutzung ermöglichen (Collection, Dictionary, Datenbanktabelle)
    Was davon wie auf den konkreten Fall anwendbar ist: Keine Ahnung. Der TE erzählt immer, was er machen will, aber nicht, was eigentlich passieren soll.

    Auf den Hinweis von josef e in #2 gab es bis jetzt keine hinreichende Reaktion, obwohl ein Anderthalbzeiler ohne Fremdwörter und Fachbegriffe doch übersichtlich sein sollte.
     
  14. Zerbrich dir nicht den Kopf. Ich versteh nicht warum du es bis ins letzte Detail unbedingt immer wissen willst? Reicht dir nicht dass ich die Informationen die ich aus der Textdatei gewinne auswerten will? _anton_ und andere haben mich verstanden, weiß gar nicht was du eigentlich willst, sry?
    Vielleicht sieht du alles viel komplzierter. Keine Frage du hast wohl viel Erfahrung, aber für mich findest du kompliziertere Sachen als ich brauche.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Donald2, 14. März 2011
    #14
  15. Entschuldige, ich hatte die Vorstellung, dass durch die Analyse direkt auswertbare Informationen entstehen sollen, die man z.B. auch in eine Tabelle schreiben kann.
    Code:
    Mit detaillierteren Informationen hätte das etwas vollständiger sein können.
    Nun aber werde ich mich wunschgemäß nicht mehr mit Deinen Problemen beschäftigen.
     
Thema:

Große Textdatei einlesen und auswerten

Die Seite wird geladen...
  1. Große Textdatei einlesen und auswerten - Similar Threads - Große Textdatei einlesen

  2. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  3. Große Textdatei - Formate entschlacken

    in Microsoft Word Hilfe
    Große Textdatei - Formate entschlacken: Hallo, ich arbeite seit längerem mit einer ziemlich großen Datei (mittlerweile 2000 Seiten), die sozusagen mein Zettelkasten ist. Alles ist leicht auffindbar durch Überschriften (2 Ebenen) und...
  4. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  5. Prozedur ist zu groß

    in Microsoft Excel Hilfe
    Prozedur ist zu groß: Hallo ich habe ein Problem und zwar werden sehr viele Kombinationsfelder beim Öffnen eines Excel Workbook gefüllt. Diese führt jetzt zu einer zu großen Prozedur. Hätte da jemand eine Lösung? Gruß...
  6. Formel auf andere Zellen unterschiedlicher Größe anwenden

    in Microsoft Excel Hilfe
    Formel auf andere Zellen unterschiedlicher Größe anwenden: Hallo zusammen, ich habe eine Formel gebastelt, die wie angehängt in der Beispiel-Excel zu sehen ist, funktioniert. Kann ich die Formel so vereinfachen, dass ich nicht 3x die angepasste Formel...
  7. Wenn der Wert größer ist als 10 will ich die Differenz in einer Spalte haben

    in Microsoft Excel Hilfe
    Wenn der Wert größer ist als 10 will ich die Differenz in einer Spalte haben: Hallo zusammen, auf dem Bild im Anhang ist mein Zeiterfassungssystem zusehen. Spalte E ist meine Gesamtstundenzahl, wenn diese Zahl größer ist als 10 möchte ich die Differenz daraus in Spalte I...
  8. Problem Große Menge Textdateien importieren in Excel

    in Microsoft Excel Hilfe
    Problem Große Menge Textdateien importieren in Excel: Hallo. Es soll eine Auswertung gemacht werden. Dazu werden Monatliche Darstellungen benötigt. Die Monate sind Tageweise in Textdateien abgespeichert. In den Textdateien sind Inhalte vorhanden,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden