Datenmengen in datensätze reduzieren

Dieses Thema Datenmengen in datensätze reduzieren im Forum "Software: Empfehlungen, Gesuche & Problemlösungen" wurde erstellt von Ivaylo, 3. Okt. 2005.

Thema: Datenmengen in datensätze reduzieren Hallo, ich brauche eine Programm die ein Datensatz reduzieren kann. Ich habe nach eine Versuchsreihe eine menge...

  1. Hallo, ich brauche eine Programm die ein Datensatz reduzieren kann.
    Ich habe nach eine Versuchsreihe eine menge Daten gesammelt (für meine Studienarbeit), das Problem ist es jedoch das ich das nicht in Excel bearbeiten kann. Ich habe mir gedacht es sollte doch ein kleines Programm geben, das die Daten reduziert. Die Sensoren und die Erfassungsystem liefern ein Datenpunkt jede Sekunde ich brauche es aber nicht so dicht es wehre es mir lieber ein Datenpunkt pro Minute oder sogar pro Stunde (ein Versuch dauert 1-3 Monate das heißt fast 1'000?000 Zeilen). Bitte helfen ihr mir, wenn ihr eine Lösung weist.

    Die Daten sehen so aus:
    A B C D E F G
    0 16:52:28 20,07 5,0043 5,0046 8,7399 8,9111
    1 16:52:29 20,07 5,0055 5,0046 8,7399 8,9111
    . . . . . . .
    . . . . . . .
    . . . . . . .
    156490 12:20:45 22,07 5,0021 5,0061 0,8914 2,8326

    Und so weiter.

    Vielen dank!
    Mit freundlichen Grüßen Ivaylo.
     
  2. Hallo Ivaylo,
    in welcher Form bzw. in welchem Format liegen die Daten denn vor? Wenn es Textdateien sind, könnte man sie leicht mit einem AWK-Skript überarbeiten und z. B. nur die Zeilen zur vollen Minute oder zur vollen Stunde herausfiltern.
    Viele Grüße - Ulrich
     
  3. :D
    das sind Textfiles. Vie funktioniert das kannst du es mir bitte näher erklärei oder ein link mit Anleitungen schicken.
    Ich hab zuerst an Java gedacht aber leider reichen meine Kenntnisse nicht aus. Es währe super wenn ich die Daten nicht lösche sondern ein mittelwert ausrechne.

    Mit freundlichen Grüßen Ivaylo.

    Danke!
     
  4. Hallo Ivaylo,
    GAWK einschl. Dokumentation findest Du hier:
    http://gnuwin32.sourceforge.net/packages/gawk.htm
    Bilden eines Mittelwertes wäre auch kein Problem. Allerdings könnte man dann auch ein C-Programm schreiben, dann hätte man die Möglichkeit, noch weitere statistische Auswertungen vorzunehmen.
    Nur aus Neugier: Was machst Du denn da für Messungen bzw. was ist das Thema Deiner Arbeit?
    Viele Grüße - Ulrich
     
  5. Es sind Langzeitkrichversuche mit Kunststoffe.

    O.K. ich muss meine Java Kenntnisse erfrische und mir selber ein Programm schreiben. ??? Ich meine es währe leichter für mich da habe ich zu minderst Grundkenntnisse.

    Danke
     
  6. Warum denn, glaubt Du, es geht nicht mit AWK? Dieses Programm ist genau für solche Aufgabenstellungen gemacht: Feldorientiert aufgebaute Textdateien zu überarbeiten. Ich würde Dir ja anbieten, solch ein Skript zu schreiben - das geht mit wenigen Programmzeilen - aber Deine Studienarbeit sollst Du ja selbständig erledigen.
    Viele Grüße - Ulrich
     
  7. Ich sage ja nicht das mit dem Programm nicht möglich ist, ich kenne mich nicht aus aber ich versuche es. Meine Studienarbeit ist fast fertig das wollte ich nur noch auf freie Wille dazu schreiben. ;)

    Jetzt lese ich bisschen drüber und versuche es dann.

    bis bald
     
  8. Hallo Ivaylo,
    es ist wirklich sehr einfach. Filtern ohne Mittelwerte ist ein Einzeiler:
    Code:
    substr ($2, 7, 2) == 00 {print}
    Filtern mit Mittelwerten:
    Code:
    BEGIN{
     nr = 0
     sum1 = 0
     sum2 = 0
     sum3 = 0
     }
     {gsub (/,/, .)
      sum1 += $3
      sum2 += $4
      sum3 += $5
      nr++
     }
    substr ($2, 7, 2) == 00 {print $1   $2   sum1/nr   sum2/nr   sum3/nr
     sum1 = 0
     sum2 = 0
     sum3 = 0
     nr = 0
     }
    Die Anweisungen jeweils in eine Datei z. B. kompr.awk schreiben und ausführen mit
    Code:
    gawk -f kompr.awk eingabedatei > ausgabedatei
    So einfach geht es mit C oder Java nie und nimmer!
    Viele Grüße - Ulrich
     
  9. Danke, aber es klapt nicht. :-[
    Ich habe es gestern versucht mir selber was zu schreiben aber ich komme nicht ganz klar mit der sintaxis dieset sprache.

    Es ist richtig, dass die viel kleiner ist als ein Javaprogramm.

    mfg Ivaylo
    Danke!
     
  10. Hallo, :-\
    ich habe folgendes mit java geschrieben und es funktioniert nur leider muss der Input-File nur eine Zelle besitzen sonst gehet es nicht.

    Code:
    import java.io.*;
    class MittelWert
    {
     public static void main ( String[] args ) throws IOException
     {
      double zahl;
      double summe = 0; // summe initialisieren
    
      String zeile;
      BufferedReader stdin = new BufferedReader(
        new InputStreamReader( System.in ) );
    
      double zaehler = 1; // zaehler initialisieren
      while ( zaehler <= 60 )
    		{
    			summe = 0;
    				while ( zaehler <= 60 )
    				{
    				 //System.out.println(Geben Sie eine Zahl ein:);
    				 zeile = stdin.readLine();
    				 zahl = Double.parseDouble( zeile );
    				 summe = summe + zahl; // zu summe addieren
    				 zaehler = zaehler + 1; // zaehler inkrementieren
    				}
    			System.out.println( + summe / 60 );
    			zaehler = 1;
    		}
     }
    }
    
    dann starte ich das mit:
    Code:
    c:> java MittelWert < input_1.txt > uotput_1.txt
    Ich weiss, dass nicht perfekt ist und auch nicht ganz sauber geschrieben und des wegen wenn jemand das korrigieren kann der verbessern kann ich werde ihm oder ihr sehr dankbar sein. :-\

    mfg Ivaylo.
     
Die Seite wird geladen...

Datenmengen in datensätze reduzieren - Ähnliche Themen

Forum Datum
HP JetDirect und große Datenmengen Windows XP Forum 8. Dez. 2004
Verbindungsabbrüche bei großen Datenmengen Sonstiges rund ums Internet 19. Nov. 2004
grosse Datenmengen auf USB1.0 HD kopieren - bricht immer ab ... Hardware 16. Juni 2003
PHP - XML | Datensätze hinzufügen und editieren Webentwicklung, Hosting & Programmierung 18. Feb. 2011
Datensätze mit OCR nach Excel? Windows XP Forum 11. Apr. 2009