getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 30.04.2003, 11:03   #1
TP-Veteran
 
Benutzerbild von Flow09
 
Registriert seit: Jun 2001
Ort: Wien
Flow09 ist auf einem guten Weg
Question

Dateien vergleichen, brauche kleine Starthilfe


Hallo!

Ich muss den Inhalt zweier .csv-Dateien vergleichen! Der Inhalt beider Dateien besteht aus einer Nummer und einen Namen z.B. 1/08/2300589; MAX TESTMANN

In einer Datei sind ca. 7000 Datesätze in der anderen über 13000 und ich muss jetzt schauen ob einige von den 7000 in den 13000 drinn sind. Am besten wäre es ja über die Nummern zu suchen weil die Namen doppelt vorkommen können. Das Problem ist das es bei den Nummer differenzen in der Schreibweise geben könnte. Ich will daher nur die letzten fünf Stellen der Nummer nehmen und damit arbeiten!

Ich find jetzt aber keinen Einstiegspunkt wo ich anfangen kann ich hab keine Ahnung wie ich die Zahlen vergleiche!!!

lg
Flow
__________________
Lesser known Programming Languages #13: SLOBOL
... Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.
Flow09 ist offline   Mit Zitat antworten


Alt 30.04.2003, 11:22   #2
jph
TP-Veteran
 
Benutzerbild von jph
 
Registriert seit: Apr 2001
Ort: Münster und gerade aus Brisbane
jph ist auf einem guten Weg
also ich würde es so machen:
du liest einfach die gesamten zeilen der beiden dateien aus und vergleichst dann miteinander. über substr() kannst du dir die zeile ja so zurechtschneiden, wie du möchtest und diese beiden teile vergleichst du dann. problem: 70000 und 130000 zeilen miteinander zu vergleichen dürfte einiges an webserver zeit in anspruch nehmen: am besten lokal nen webserver installieren und das timeout limit ziemlich hoch setzen!!
__________________
Internetprojekte & Webdesign
www.janheck.de
post@janheck.de
jph ist offline   Mit Zitat antworten
Alt 30.04.2003, 11:28   #3
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Jo... etwas Rechenintensiv bzw. Speicherintensiv wird das werden.
Mein Vorschlag wäre:
- Die Datei zeilenweise einlesen
- bei jeder Zeile die Zahlen, die du vergleichen willst in ein Array packen (ich geh jetzt davon aus, dass die Zahlen "eindeutig" sind)
- Danach die 2te Datei zeilenweise Einlesen.
- Auch hier die Zahlen ziehen und schauen, ob der Wert schon im Array vohanden ist. Falls ja: echo "doppelt" - Falls nicht: musst du wisse

Gruss
Jan

EDIT
@jph: es sind 7000 und 13000 Du hast da eine Null zuviel...
Stuck Mojo ist offline   Mit Zitat antworten
Alt 30.04.2003, 11:43   #4
TP-Veteran
 
Benutzerbild von Flow09
 
Registriert seit: Jun 2001
Ort: Wien
Flow09 ist auf einem guten Weg
Naja, dass das Rechenintensiv wird is mir auch klar! Mir stellte sich nur die Frage was dass Geschickteste ist das ganze anzufangen! Ich wer mal schauen wie weit ich komme! Bei Problemen bin ich eh gleich wieder da!

lg
Flow
__________________
Lesser known Programming Languages #13: SLOBOL
... Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.
Flow09 ist offline   Mit Zitat antworten
Alt 30.04.2003, 11:45   #5
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
is das eine periodische aufgabe oder nur einmalig?
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 30.04.2003, 11:48   #6
TP-Veteran
 
Benutzerbild von Flow09
 
Registriert seit: Jun 2001
Ort: Wien
Flow09 ist auf einem guten Weg
Einmalig, aber was macht das für einen unterschied???
__________________
Lesser known Programming Languages #13: SLOBOL
... Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.
Flow09 ist offline   Mit Zitat antworten
Alt 30.04.2003, 11:53   #7
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
warum liest du dann die dateien nicht in eine db wie access ein und vergleichst sie mit sql-boardmitteln, bevor du da grossartig zum programmieren anfängst?
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 30.04.2003, 12:01   #8
TP-Veteran
 
Benutzerbild von Flow09
 
Registriert seit: Jun 2001
Ort: Wien
Flow09 ist auf einem guten Weg
In PHP hab ich's halbwegs vor Augen wie ich es anstellen könnte aber ich hab schon seit ewigkeiten nix mehr mit Access gemacht und wüsste so auf die schnelle auch gar nicht wie ich das fertig bringe!
Außerdem ist es möglich das der gleiche fall nochmal auftritt!!
__________________
Lesser known Programming Languages #13: SLOBOL
... Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.
Flow09 ist offline   Mit Zitat antworten
Alt 30.04.2003, 12:57   #9
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Ich würde das auch in ner mySQL DB machen. Die CSV Dateien kannst Du doch prima in eine mySQL Datenbank packen und nen fertiger Apache ist schnell installiert
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Alt 30.04.2003, 15:54   #10
TP-Veteran
 
Benutzerbild von Flow09
 
Registriert seit: Jun 2001
Ort: Wien
Flow09 ist auf einem guten Weg
Unhappy

denkfehler ?!?!?


OK, also die Daten von den 2 .csv-Dateien sind jetzt in der DB (pro Datei eine Tabelle)!
Mit dem Code bin ich soweit gekommen:
PHP-Code:
<?php

$host 
"localhost";
$usr "root";
$pass "";

$conn mysql_connect($host$usr$pass) or die ("Keine Verbindung<br>\n".mysql_error());
mysql_select_db ("test"$conn);

$sql1 "SELECT * FROM generali1";
$sql2 "SELECT * FROM generali2";

$ergebnis1 mysql_query($sql1$conn);
$ergebnis2 mysql_query($sql2$conn);

while (
$row1 mysql_fetch_array($ergebnis1))
{
    
$len1 strlen($row1[0])-6;
    
$teil1 substr($row1[0], $len);
    while (
$row2 mysql_fetch_array($ergebnis2))
    {
        
$len2 strlen($row2[0])-6;
        
$teil2 substr($row2[0], $len2);
        if (
$teil1 == $teil2)
        {
            echo 
$row1[0]." ".$row1[1]." -> ".$row2[0]." ".$row2[1]."<br>\n";
        }
    }
}

mysql_close($conn);

?>
Irgendwo hab ich einen Denkfehler drinn!!!


lg
Flow
__________________
Lesser known Programming Languages #13: SLOBOL
... Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.
Flow09 ist offline   Mit Zitat antworten
Alt 30.04.2003, 16:07   #11
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
aha. ein versicherer

geh folgendermassen vor (da du scheinbar auf mysql gegangen bist)

selecte dir aus dem kleineren DS (den 7000er) via distinct die nummern:

select distinct id from tabelle1...

dann setze diese in eine Schleife
dort hol dir deine Nummer raus und mach dann
pro datensatz eine like-suche auf die grosse tabelle:

select count(ID) from tabelle where ID like '%teilstringdernummer'

werte die id aus (Achtung count() bringt dir auch bei null sätzen einen Wert zurück)

Alternativ kannst dich ja an die pear-db schnittstelle wenden, die hat eine goile funktion -> getOne($sql) da wird dir der Wert postwendend zurückgeworfen.

however so oder so ähnlich wärs ich angegangen.
Heavy load auf alle fälle
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 30.04.2003, 17:34   #12
TP-Veteran
 
Benutzerbild von Flow09
 
Registriert seit: Jun 2001
Ort: Wien
Flow09 ist auf einem guten Weg
Zitat:
Heavy load auf alle fälle
Du sprichst wahre Worte!


Übrigens gut geraten (das mit der Versicherung) woran hast Du das gesehen??

Danke vorerst mal, ich werd eh wieder schreien wenn ich hilfe brauch!

lg
Flow
__________________
Lesser known Programming Languages #13: SLOBOL
... Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.
Flow09 ist offline   Mit Zitat antworten
Alt 30.04.2003, 17:42   #13
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
komm auch aus der gegend...
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 02.05.2003, 13:45   #14
TP-Veteran
 
Benutzerbild von Flow09
 
Registriert seit: Jun 2001
Ort: Wien
Flow09 ist auf einem guten Weg
Question

OK, die Situation hat sich etwas geändert!
Es geht jetzt nicht mehr um .csv-Dateien die vergleichen werden müssen sondern um zwei Abfrageergebnisse aus zwei Tabellen einer DB!
Beide enthalten u.a. zwei Felder mit folgendem Inhalt:
Datum (Format: JJJJMM) , Nummer (z.B.: 1326/45589)

Es geht jetzt darum die Inhalte der beiden Ergebnisse zu vergleichen (wird ein Soll-Ist vergleich für Einnahmen)!

Ich brauch eure Hilfe da ich mit der Reihenfolge der Schleife(n) ein Problem habe!

Folgendes soll geschehen:
Vergleich des Datums --> falls Datum ident, vergleich des Nummer --> wenn Datum und Nummer ident --> ausgabe des restlichen Ergebnisses!

Bitte helft mir!

lg
Flow

P.S.: Ich sollte vielleicht noch erwähnen das ich per ODBC auf die DB zugreife
__________________
Lesser known Programming Languages #13: SLOBOL
... Although many compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you to travel to Bolivia to pick the coffee. Forty-three programmers are known to have died of boredom sitting at their terminals while waiting for a SLOBOL program to compile. Weary SLOBOL programmers often turn to a related (but infinitely faster) language, COCAINE.

Geändert von Flow09 (02.05.2003 um 14:40 Uhr).
Flow09 ist offline   Mit Zitat antworten
Alt 02.05.2003, 21:13   #15
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
if($datum1 != $datum2)
contiune;

if($nummer1 == $nummer2)
ausgabe


zu odbc.
schau dir mal die adodb-lib an http://php.weblogs.com/ADODB
oder auch pear-db. da kannst du ganz gut abstrahieren, damit du nicht odbc coden musst.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Dateien vergleichen, brauche kleine Starthilfe Dateien vergleichen, brauche kleine Starthilfe
« [PHPBB2] Error | Strings verknüpfen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:54 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36