Datenmengen in datensätze reduzieren

Status
Nicht offen für weitere Antworten.
I

Ivaylo

Gast
Hallo,
ich weise es nicht ob ich hier richtig bin aber trotzdem stelle ich meine Frage.
Ich habe ein Text-File mit Daten von ein Versuch, leider sind die Daten einfach zu fiel c.a. 500'000 Zeilen und natürlich kann Excel das nicht bearbeiten. Nach ein Tag Erfrischungskurs mit Java habe ich folgendes geschafft:

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 Programm so:
Code:
X:>java MittelWert < input_2.txt > uotput_3.txt



Ich weis es ist nicht perfekt aber für erstes Funktioniert es.
Also meine Frage kann mir jemand helfen das ding zu verbessern zum Beispiel, so dass micht die Daten trennen muss in einzelnen Files mit nur eine Zelle oder Kleinigkeiten und Verbesserungen.

Danke!
mfg Ivaylo
 

Bleiglanz

Gesperrter Benutzer
was funktioniert da dran?

60 Zeilen einlesen von 500.000??

was machen die zwei while-Schleifen, die äussere ist doch endlos????
 
G

Guest

Gast
Es funktioniert alles Prima nur leider muss ich die Zellen einzeln isolieren und dann verkürzen.
Das Programm macht ein mittelwert von 60 Werte aus "input_1.txt" und speichert es, dann in "uotput_1.txt".

Leide wertet die letzte werte nicht aus weil sie weniger als 60 sind.
 

Bleiglanz

Gesperrter Benutzer
welche bedeutung hat "60"??

Code:
double zaehler = 0;
double sum = 0;
String zeile = null;
while (null!=(zeile=stdin.readLine()))
{
    summe += Double.parseDouble( zeile );
    zaehler++;
}
System.out.println(summe / zaehler);
 
G

Guest

Gast
Hallo,
danke für die Antwort.

Ich habe Java nur auf der uni für ein Semester studiert und ich hab nicht viel Ahnung von Programmieren nur leider Brauche ich ein kleines Programm, das meine Daten kompakter macht. Ich habe vor mir ein txt-Datei der c.a. 150'000 (in Zukunft ach bis zu 5'000'000) Zeilen hat und das in Excel zu importieren muss ich es verkleinern und beginnen meine Probleme ich in Internet vergeblich nach eine Programm, das das schafft und ich habe mir gedacht, dass ich mir selber was schreibe und das ist das Ergebnis. Es soll die Mittelwert von jeden 60 werte ermitteln und in eine anderen Datei schreiben und dafür ist auch „60“ dabei. Nur ich weise es nicht wie ich es schaffen soll, das ich es auf ein Rutsch erledige und nicht jede einzelne Zelle extra zu bearbeiten.

Ist deine code an stele von:
Code:
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;
zu setzen oder soll ich alles damit überschreiben?
 

Nova

Bekanntes Mitglied
sehe ich das richtig:
du hast eine Datei mit 500.000 Zahlen und willst das jetzt auf 1/60 stel reduzieren?
Und du gibst alle Zahlen über die Konsole ein?!?
Das kann aber dauern...
Willst du dann Excel nochmal alles mal 60 rechnen lassen?

Warum lässt du dein Programm nicht einfach drekt die Datei lesen und in eine andere Datei schreiben?
Außerdem wird es nicht funktionieren wenn die Anzahl der Zahlen nicht durch 60 teilbar ist...


mfg
Nova
 
I

ivaylo

Gast
:bahnhof: :shock:
Ja hallo du hast es erfasst oder aber nicht. Aber lesen tust du ja nicht gern (
Dann starte ich das Programm so:
Code:
X:>java MittelWert < input_2.txt > uotput_3.txt
).
Wozu reduzieren? EXCEL KANN NICHT SO VIELE ZEILEN BEARBEITEN! Und nein ich will es nicht wieder in Excel mall 60 rechnen lassen, das wehre ja blödsinnig (EXCEL hat eine Zeilenbegrenzung).

O.K. Danke Jungs aber ich tue mit meine jämmerliches Programmchen weiter.
 

MPW

Top Contributor
Also, so weit ich das jetzt kapiert hab, werden immer 60 Zahlen zu einer großen addiert, oder?

Also, das hast du doch im Prinzip schon....du musst nurnoch die äußere Endlosschleife korrigieren...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Große Datenmengen effizient in CSV File speichern Java Basics - Anfänger-Themen 4
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
J Umgang mit großen Datenmengen Java Basics - Anfänger-Themen 9
B Effektive Implementierung für Darstellung großer Datenmengen in Jogl Java Basics - Anfänger-Themen 5
A große errechnete datenmengen sofort in datei schreiben? Java Basics - Anfänger-Themen 6
O Anzahl Datensätze ausgeben Java Basics - Anfänger-Themen 5
S Algorithmus Datensätze einfügen wenn... Java Basics - Anfänger-Themen 26
E Anzahl Datensätze in Textfeld Java Basics - Anfänger-Themen 5
J Datensätze aus Txt Datei auslesen - Datensätze durch stöbern Java Basics - Anfänger-Themen 5
P Doppelte Datensätze aus CSV-Datei löschen Java Basics - Anfänger-Themen 17
S CheckIn / CheckOut für Datensätze Java Basics - Anfänger-Themen 2
S Datensätze filtern Java Basics - Anfänger-Themen 3
M JSON Datensätze aus Website in Tabelle Java Basics - Anfänger-Themen 17
F Sortieren von Datensätze Java Basics - Anfänger-Themen 5
J Datensätze aus einer DB als Objekte erzeugen und in ArrayList abspeichern Java Basics - Anfänger-Themen 9
K Datensätze in der Datenbank zählen Java Basics - Anfänger-Themen 32
K Anzahl aller Datensätze anzeigen ? Java Basics - Anfänger-Themen 5
T Gemischte Datensätze als mehrstellige Zahl sortieren Java Basics - Anfänger-Themen 6
S Datensätze einzeln auslesen (Strings) Java Basics - Anfänger-Themen 6
T datensätze in gui anzeigen Java Basics - Anfänger-Themen 4
P SQL - Abfrage - Anzahl an Datensätze. Java Basics - Anfänger-Themen 5
G Komplexe Datenstruktur (Liste heterogener Datensätze) ? Java Basics - Anfänger-Themen 2
F Doppelte Datensätze zusammenziehen Java Basics - Anfänger-Themen 2
bernd Datensätze in Textdatei speichern? Java Basics - Anfänger-Themen 39
B Datei öffnen , Datensätze auslesen und damit Rechnen ? Java Basics - Anfänger-Themen 2
I Interface von einer EJB Klasse, um Code zu reduzieren Java Basics - Anfänger-Themen 1
C Erste Schritte Scanner outputs reduzieren? Java Basics - Anfänger-Themen 8
R GregorianCalendar auf Datum reduzieren Java Basics - Anfänger-Themen 9
N Nachkommastellen auf 2 reduzieren Java Basics - Anfänger-Themen 5
D Double auf 2 stellen nach dem Komma reduzieren.. Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben