Lunkens Geschrieben 5. November 2007 Teilen Geschrieben 5. November 2007 Hi! Ich hab ein gleiches Problem mit meiner Hausarbeit und zwar erzeugt mein c#-Programm nach ein paar Berechnungen eine Datei.csv mit vielen Werten: DatumZeit;F1;F2;F3;F4;F5;S1;S2;S3;S4;S5;U1;U2;U3;U4;U5;Uges;Efak;Ufak;Rfak;FakGes 01.01.0001 00:00:00;0;100;500;200;400;0;0;3;0;1;0;7,00386;17,67702;8,73486;13,30826;46,724;-36;-3,275997;-0,32;-39,596 01.01.0001 00:00:00;0;100;500;300;300;0;0;3;0;0;0;7,00386;17,67702;10,33355;10,33355;45,34798;-24;-4,652023;-0,24;-28,89202 01.01.0001 00:00:00;0;100;500;300;300;0;0;3;0;1;0;7,00386;17,67702;10,33355;11,63015;46,64457;-36;-3,355427;-0,24;-39,59543 01.01.0001 00:00:00;0;100;500;300;300;0;0;3;1;0;0;7,00386;17,67702;11,63015;10,33355;46,64457;-36;-3,355427;-0,24;-39,59543 01.01.0001 00:00:00;0;100;500;400;200;0;0;3;1;0;0;7,00386;17,67702;13,30826;8,73486;46,724;-36;-3,275997;-0,32;-39,596 01.01.0001 00:00:00;0;100;600;200;300;0;0;3;0;0;0;7,00386;19,89451;8,73486;10,33355;45,96678;-24;-4,033218;-0,24;-28,27322 01.01.0001 00:00:00;0;100;600;200;300;0;0;3;0;1;0;7,00386;19,89451;8,73486;11,63015;47,26338;-36;-2,736622;-0,24;-38,97662 01.01.0001 00:00:00;0;100;600;200;300;0;0;3;1;0;0;7,00386;19,89451;9,580546;10,33355;46,81247;-36;-3,187531;-0,24;-39,42753 01.01.0001 00:00:00;0;100;600;200;300;0;0;4;0;0;0;7,00386;20,61519;8,73486;10,33355;46,68746;-36;-3,312538;-0,24;-39,55254 01.01.0001 00:00:00;0;100;600;200;300;0;1;3;0;0;0;7,48952;19,89451;8,73486;10,33355;46,45244;-36;-3,547558;-0,24;-39,78756 01.01.0001 00:00:00;0;100;600;300;200;0;0;3;0;0;0;7,00386;19,89451;10,33355;8,73486;45,96678;-24;-4,033218;-0,24;-28,27322 Hier nochmal übersichtlicher als Screenshot: Nun soll nach einer Spalte (Fakges) sortiert werden und die beste Lösung, also wo Fakges am niedrigsten ist, ausgegeben werden. Die ganz Spalte am besten als Objekt, oder irgendwie jeden Wert einzelnd. Hab leider nichts brauchbares ergoogeln können. Ich hoffe ihr könnt mir helfen, denn bald ist Abgabe Vielen Dank nochmal, Lunkens :hells: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Trux Geschrieben 5. November 2007 Teilen Geschrieben 5. November 2007 *Gedankenspiel* CSV-Dateien kannst du meine ich als ODBC-Datenqulle anbinden... Dann müsstest du mit einem SELECT * FROM [TABELLE] ORDER BY FakGes DESC doch dein gewünschtes ergebniss bekommen oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lunkens Geschrieben 6. November 2007 Autor Teilen Geschrieben 6. November 2007 Danke für den Tipp, bin da noch relativ neu, werd aber mal schauen ob ich ne gute Dokumentation finde. Ich hoffe es ist nicht zu schwer. Als Idee wäre halt noch folgendes: Datei zeilenweise einlesen, den String jeder Zeile an den Semikolen teilen, die einzelnen Werte in einem Array ablegen und die Zeilen ebenfalls wieder. Und dann das zweidimensionale Array anhand des entsprechenden Eintrags sortieren oder einfach den Eintrag ausgeben, wo der Wert am kleinsten ist. Ist die Frage ob das bei teilweise 300MB Files nicht einfach viel zu langsam ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 6. November 2007 Teilen Geschrieben 6. November 2007 Danke für den Tipp, bin da noch relativ neu, werd aber mal schauen ob ich ne gute Dokumentation finde. Ich hoffe es ist nicht zu schwer. Als Idee wäre halt noch folgendes: Datei zeilenweise einlesen, den String jeder Zeile an den Semikolen teilen, die einzelnen Werte in einem Array ablegen und die Zeilen ebenfalls wieder. Und dann das zweidimensionale Array anhand des entsprechenden Eintrags sortieren oder einfach den Eintrag ausgeben, wo der Wert am kleinsten ist. Ist die Frage ob das bei teilweise 300MB Files nicht einfach viel zu langsam ist. Ist jetzt die Frage, ob ODBC schneller ist, als das pure lesen und sortieren der Werte. Ich würd es eher so lösen, dass du die Datei Zeilenweise liest (StreamReader), dann parset, in ein Array und das dann sortieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.vash Geschrieben 7. November 2007 Teilen Geschrieben 7. November 2007 Wobei ich eine ähnliche Problemstellung kürzlich hatte und dies wie Cadpax beschrieben manuell gemacht habe: in ein zweidimensionales array einlesen und dann mit bubblesort sortiert (waren nur ein paar Werte), falls du seeeehr viele Zeilen sortieren musst, wäre evtl. ein anderer sortieralgorithmus sinnvoller Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 8. November 2007 Teilen Geschrieben 8. November 2007 Wieso denn zweidimensional? Ich muss einen Wert finden. Als Index habe ich das Arrayfeld. Also arr[150] ist die 151 Zeile? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lunkens Geschrieben 8. November 2007 Autor Teilen Geschrieben 8. November 2007 Jo Vielen Dank für die Tipps, werde mal nachlesen wie das mim Filestreamer geht, oder soll ich was anderes verwenden? es könnte eigentlich auch nen 1dimensionales reichen, wie mein vorgänger erwähnt, würde die zeile halt die arrayindexnummer sei und der wert halt FGes. Ist die Frage wie schnell sowas bei 300 MB Files geht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cadpax Geschrieben 8. November 2007 Teilen Geschrieben 8. November 2007 Das ist die Frage. ;-) Gewusst wie: Lesen aus einer Textdatei Dann brauchst nur noch Splitten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.