Sortieren von Messwerten

rowJoe

Mitglied
Hallo Leute,

ich habe das letzte mal vor knapp 5 Jahren mit Java zu tun gehabt und möchte/muss nun ein kleineres Programm schreiben. Ich hoffe ich bin hier richtig und ihr könnt mir weiterhelfen...

In mehreren Exceldateien habe ich mehrere Tausend Messwerte von Bauteilversuchen, diese möchte ich in eine SQL-Datenbank schreiben um sie später auswerten zu können. Die Excel-Tabellen sind dabei jedes Mal gleich aufgebaut - jeder Versuch hat eine Spalte, jede Zeile einen Prüfparameter.

Wie würdet ihr an die Sache gehen um das Ganz möglichst elegant/schnell zu lösen?

Als möglichen Programmablauf habe ich mir folgenden vorgestellt:
  1. Einlesen der Exceltabelle mit Apache POI
  2. Abarbeiten jedes Bauteilversuchs mit einer Schleife - Zuordnung der Prüfmerkmale zu den Attributen der Klasse
  3. Wenn der Einzelversuch abgearbeitet ist, werden die Daten in die SQL Datenbank geschrieben


Ich hoffe auf eure Hilfe,

Jonas
 

Athena

Mitglied
Hallo rowJoe,

dein Vorhaben ist zwar möglich, aber ich denke es gibt für dein einmaliges Problem einfachere Lösungen als mit Java. Du könntest dies beispielsweise sehr leicht mit einem VBA-Skript umsetzen.


liebe Grüße,

Athena
 

rowJoe

Mitglied
Hallo Athena,

danke für deine Antwort und den Vorschlag. Ich hatte auch schon darüber nachgedacht. Im ersten Augenblick schient es so, als sei die Datenspeicherung einmalig, das ist nicht ganz korrekt und ich hole einwenig weiter aus:

Die Datenbank und auch das Programm soll später auf Unix laufen. Auf dieses System habe ich derzeit noch keinen Zugriff - das ändert sich demnächst. Die Zeit möchte ich nutzen und ein Tool entwickeln (auf meinem WinPC), welches die Werte dann später in die Datenbank importieren kann. Die Verbindung von Unix und Win ist dann leider nicht möglich und somit fällt die Chance VBA zu nutzen leider weg (oder?). Soviel zu warum/wiso Java. ;)

Falls du Vorschläge oder Ideen hast, bin ich sehr dankbar.


Schönes Wochenende,

rowJ
 

Athena

Mitglied
Im Falle von OpenOffice ist eine Makro-Programmierung ebenfalls möglich. Ansonsten kann natürlich auch Java genutzt werden, was ich bei regelmäßiger Nutzung dann ebenfalls bevorzugen würde, allerdings aufwendiger sein kann.


Wenn der Einzelversuch abgearbeitet ist, werden die Daten in die SQL Datenbank geschrieben

Bei mehreren Tausend Einzelversuch kann das allerdings sehr sehr sehr lange dauern, da jeder Query seine Zeit braucht. Daher lieber mehrere Datensätze gleichzeitig einpflegen (ist möglich laut MySQL 4.0.21 -> Mehrere Datensätze mit einem Insert Statement? @ Relationale Datenbanksysteme - tutorials.de: Tutorial, Forum, Anleitung & Hilfe).



Ansonsten würde ich deinen Plan noch um eine Nutzung von Threads und dem selbständigen Einlesen von Dateien erweitern. Dann könnte man beispielsweise das Programm dauerhaft aktiv und seinen eigenen Ordner ("Eingang") verwalten lassen. Wenn eine entsprechende Datei erfolgreich eingelesen wurde wird sie in den Ordner "Ausgang" verlegt. Falls etwas schief läuft könntest du die Datei in "Fehlgeschlagen" verschieben und den Fehlerbericht in einer Log-Datei sichern.

Als Nutzer braucht man nun lediglich die gewünschten Excel-Dateien in den entsprechenden Ordner verschieben.


Es gibt natürlich zahlreiche Möglichkeiten dein Problem sinnvoll zu lösen. Ich hoffe ich konnte die eine gute Alternative aufzeigen und deine Frage größtenteils beantworten.


liebe Grüße,

Athena
 

rowJoe

Mitglied
Danke für die Tipps und Ideen. So eine Art Batch-Ablauf wollte ich auch schon integrieren, jedoch erstmal die Verarbeitung von einer Datei ermöglichen. Das Einlesen mit dem Apache POI klappt schon sehr gut. Ich habe nun vor die Zellen der ersten Spalte zu vergleichen und die einzelnen Parameter so zu identifizieren.

Nun zur Frage: Besteht die Möglichkeit aus einem Objekt ein neues heraus zu erzeugen, sodass schließlich die folgende "Datenstruktur" entsteht? Hab ich eine Chance das irgendwie aufzubauen?

Objekt "Bauteil"_1
Bauteil_1.Eigenschaft_1
Bauteil_1.Eigenschaft_2
Bauteil_1.Ausleger_1.Eigenschaft_1
Bauteil_1.Ausleger_1.Eigenschaft_2
Bauteil_1.Ausleger_1.Schnitt_1.Eigenschaft_1
Bauteil_1.Ausleger_1.Schnitt_1.Eigenschaft_2
Bauteil_1.Ausleger_2.Eigenschaft_3
...
Bauteil_1.Ausleger_1000.Schnitt_200.Eigenschaft i4000


Wenn ich das "Problem" gelöst bekomme, wäre ich bestimmt einen guten Schritt weiter... In meinen Büchern und bei Google habe ich dazu (vllt auch mit den falschen Suchworten) nichts gefunden.


Vielen Dank bereits jetzt,

rowJ
 

Athena

Mitglied
Meinst du sowas wie einen Baum mit beliebiger Breite aber maximaler Höhe? Könntest du das noch einmal genauer beschreiben?

Ich bin mir nicht ganz sicher, ob ich dich richtig verstanden habe:

- Ein Bauteil hat genau zwei Eigenschaften und beliebig viele Ausleger
- Ein Ausleger hat genau zwei Eigenschaften und beliebig viele Schnitte
- Ein Schnitt hat genau zwei Eigenschaften.

In diesem Fall könnte eine Auslegerklasse zum Beispiel so aussehen:

Java:
import java.util.ArrayList;
import java.util.List;

public class Ausleger {

	private Eigenschaft e1;
	private Eigenschaft e2;

	private List<Schnitt> schnitt; // Stichwort generische Klassen und ArrayList

	public Ausleger(Eigenschaft e1, Eigenschaft e2) {
		this.e1 = e1;
		this.e2 = e2;
		this.schnitt = new ArrayList<Schnitt>();
	}

	public void addSchnitt(Schnitt s) {
		schnitt.add(s);
	}

}


liebe Grüße

Athena
 

rowJoe

Mitglied
Guten Morgen Athena,

ich bin mir nicht ganz sicher, was du mit dem "Baum" meinst...
Meinst du sowas wie einen Baum mit beliebiger Breite aber maximaler Höhe? Könntest du das noch einmal genauer beschreiben?

Ich beschreibe am besten nochmal die Struktur in der die Daten vorliegen:
- es gibt mehrere Bauteile, die vermessen werden
- zwei Prüfgrößen können direkt dem Bauteil zugeordnet werden
- jedes dieser Bauteile kann (muss aber nicht zwangsläufig) mehrere "Ausleger" (genau definierte Bauteilbereiche) haben
- jeder "Ausleger" besitzt genau definierte Prüfparameter (in diesem Fall 2)
- diese "Ausleger" sind wiederum in genau definierte Schnitte geordnet
- an diesen Schnitten sind ebenfalls Prüfmerkmale untersucht worden

Ich möchte also ein Objekt "Bauteil erzeugen", welches mehrere "Unterobjekte" erzeugen kann (Ausleger). Diese sollten wiederum diese so genannten "Unterobjekte" (Schnitte) erzeugen können.

Kann man das überhaupt so realisieren oder ist das gar nicht möglich?



Vielen Dank für deine Hilfe. :)
 

Athena

Mitglied
Hi rowJoe,

das entspricht doch in etwa dem Beispielquelltext von mir.
Dein Stichwort ist Arraylisten.

liebe Grüße,

Athena
 

Natac

Bekanntes Mitglied
Hast du überlegt, die Excel-Datei möglicherweise als CSV-Datei zu exportieren und diese in deine Datenbank zu importieren (falls deine DB das anbietet). Scheint mir viel einfacher zu sein als ein Programm dafür zu schreiben.
 

rowJoe

Mitglied
Hallo Athena,

danke noch mal für deine Hilfe. Ich habe mir eben noch mal dein Beispiel angesehen und es vielleicht nicht auf Anhieb verstanden, daher einige Rückfragen:

a) Du erstellst eine Klasse "Ausleger", in welcher mittels ArrayList die Schnitte erzeugt werden, sind die Eigenschaften e1 und e2 die Eigenschaften des Auslegers oder des Schnittes?

b) Das Bauteil hast du in deinem Beispiel nicht mit drin. Weil es nicht erforderlich ist oder zur Vereinfachung? Nach deinem Beispiel würde ich nun drei Klassen erstellen (Bauteil, Ausleger, Schnitt) deren Objekte jeweils mittels ArrayList erstellt werden. Hab ich das so richtig verstanden?


Viele Grüße

rowJ
 

Athena

Mitglied
Hey rowJoe,

a) Die Eigenschaften e1 und e2 gehören hier zu Ausleger.

b) Genau ich habe nur eine Klasse Ausleger angegeben, da die jeweils anderen Klassen genauso aufgebaut sind. Sprich jeweils zwei Eigenschaften und eine Arrayliste, welche auf deine "Unterobjekte" verweist. Die Klasse Schnitt hat natürlich nur noch zwei Eigenschaften, aber keine Arrayliste mehr.


Anhand deiner Antworten merke ich, dass dir einiges an Erfahrung fehlt. Wenn du magst gebe ich dir meine privaten Teamspeak-Daten, um deine Fragen schneller klären zu können.


liebe Grüße,

Athena
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
rosima26 Java nach letzter Ziffer sortieren Java Basics - Anfänger-Themen 19
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
K Java sortieren. Java Basics - Anfänger-Themen 7
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
L Sortieren Java Basics - Anfänger-Themen 1
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
O 2D-Array nach einer Spalte sortieren Java Basics - Anfänger-Themen 22
C Sortieren einer ArrayList Java Basics - Anfänger-Themen 2
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
W Personen sortieren mit Comparator Java Basics - Anfänger-Themen 9
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
L Array sortieren Java Basics - Anfänger-Themen 4
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
T Java: Array monat absteigend sortieren? Java Basics - Anfänger-Themen 1
B Liste sortieren? Java Basics - Anfänger-Themen 4
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
scratchy1 Array sortieren und dann String-Repräsentation ausgeben Java Basics - Anfänger-Themen 2
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3
B Suchen und sortieren Java Basics - Anfänger-Themen 10
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
O Zweidimensional Array sortieren Java Basics - Anfänger-Themen 14
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
CptK Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
K Methoden Array[][] sortieren Java Basics - Anfänger-Themen 30
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
E ArrayList sortieren Java Basics - Anfänger-Themen 16
L Methode zum sortieren Java Basics - Anfänger-Themen 1
L Methode zum sortieren Java Basics - Anfänger-Themen 1
B Sortieren mit Iterator Java Basics - Anfänger-Themen 4
B Wie kann ich die Buchstaben sortieren nach der Höhe der Zahlen Java Basics - Anfänger-Themen 14
A Sortieren ausgerechneter Werte aus einer TXT Datei Java Basics - Anfänger-Themen 8
E LMC (Assembler) Sortieren von 3 Zahlen Java Basics - Anfänger-Themen 4
J String, Int und double Array sortieren Java Basics - Anfänger-Themen 16
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
A Array sortieren Java Basics - Anfänger-Themen 1
N StringArray alphabetisch sortieren Java Basics - Anfänger-Themen 4
Tommy135 Erste Schritte JavaDoc Sortieren Java Basics - Anfänger-Themen 5
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
D Arraylisten sortieren bitte um Hilfe Java Basics - Anfänger-Themen 4
informatikschüler21 String im Array sortieren Java Basics - Anfänger-Themen 4
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
M Arrays sortieren und kleinster Abstand Java Basics - Anfänger-Themen 3
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
N TreeMap alphabetisch sortieren? Java Basics - Anfänger-Themen 3
I <List> sortieren Java Basics - Anfänger-Themen 2
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
R Objekte Vergleichen und Sortieren Java Basics - Anfänger-Themen 3
I Sortieren nach Priorität Java Basics - Anfänger-Themen 3
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
W Array sortieren Java Basics - Anfänger-Themen 3
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
Alex/89 Werte einer .txt Datei sortieren Java Basics - Anfänger-Themen 8
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
N Collection sortieren/ filtern Java Basics - Anfänger-Themen 7
C Methoden Einfach verkette Liste - int Werte aufsteigend sortieren Java Basics - Anfänger-Themen 1
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
S array sortieren Java Basics - Anfänger-Themen 7
D Array mit Zufallszahlen, dann sortieren: Hilfe gesucht! Java Basics - Anfänger-Themen 1
D Methoden int-Array absteigend sortieren Java Basics - Anfänger-Themen 8
C Chars in einem String alphabetisch sortieren Java Basics - Anfänger-Themen 1
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
J Sortieren Java Basics - Anfänger-Themen 21
O Erste Schritte TreeMap nach Value sortieren Java Basics - Anfänger-Themen 2
K Collections Sortieren nach zweiter Spalte in JTable Java Basics - Anfänger-Themen 18
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
J Ungewolltes Sortieren eines Arrays Java Basics - Anfänger-Themen 4
T Collections Sortieren von Automodellen (v.a. BMW und Mercedes) Java Basics - Anfänger-Themen 3
P Liste sortieren verschiedener generischer Typen Java Basics - Anfänger-Themen 4
D Erste Schritte array aufsteigend sortieren und ausgeben Java Basics - Anfänger-Themen 17
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben