Probleme bei Einlesen von .csv dateien



  • Hallo zusammen,
    hoffe hier auf ein wenig hilfe bei meinem Problem:
    Hab dazu schoneiniges an Tutorials und auch an Hilfen hier im Forum gelsen, komme aber trotzdem nicht auf den rihctigen Weg.

    Muss für ein kleines Auslegungsprogramm Daten aus eine .csv File, welches vorher mit Excel erstellt worden ist auslesen.

    Zu Testzwecken hab ich von Galileo Computing aus dem Tutorial die .csv Datei übernommen (siehe kapitel 18.9)

    wenn ich das ganze mit meinem Code einlese, bekomme ich scheinbar alles richtig ausgegeben:
    Datei:

    20:23,12.11.2001,20:50,12.11.2001,Pinguin
    12:13,13.11.2001,15:29,13.11.2001,root
    16:33,13.11.2001,20:23,13.11.2001,Mr.X
    23:11,13.11.2001,01:12,14.11.2001,root
    10:22,14.11.2001,12:14,14.11.2001,Spock
    16:33,14.11.2001,20:21,14.11.2001,Scotty

    Code:

    while((fscanf(CSV,"%d:%d,%d.%d.%d,%d:%d,%d.%d.%d,%s\n", &login_hour,&login_min,&date_day,&date_mon,&date_year,&logout_hour,&logout_min,&date_dayx,&date_monx, &date_yearx,name)) != EOF )
    {
    cout << login_hour << ":" << login_min << name << endl;
    };
    Ausgabe:

    20:23Pinguin
    12:13root

    ...

    16:33Scotty

    Im nächste Schritt habe ich mir eine eigene Datei mit Excel erzeugt, die mit dem Editor geöffnet folgendermassen aussieht:

    250;500;RM500
    800;750;RM800

    mit diesem Code wollte ich das ganze dann einlesen:

    TEST = fopen("C:\\Dokumente und Einstellungen\\praktikant\\Desktop\\TEST4.csv", "r");
    if(NULL == TEST)
    {
    printf("Konnte Datei nicht \x94 \bffnen!\n");
    }
    U_P = -1;
    U_n = -1;
    while((fscanf(TEST,"%d;%d;%s\n", &U_P,&U_n,Name_Motor)) != EOF )
    {
    cout << U_P << " " << U_n << " " << Name_Motor << endl;
    };

    das Programm gibt mir dann aus:

    250 600 RM
    500 600 RM

    Die Variabeln sind identisch definiert. Die Syntax ist meines erachtens 1 zu 1 übertragen.
    Nur verstehe ich im Moment nicht was er da anderes macht :-(.
    Die 600 kommt im Programm überhaupt nicht vor....
    habe die variablen vorher extra mit werten gefüllt, die werde überschrieben ...

    Nur wo zaubert er zB die 600 als Wert her?



  • Macht es einen Unterschied wenn die Trennzeichen einmal Kommas und einmal Semikolons sind?



  • Ein Thread zum Thema reicht aus, deshalb geht es hier weiter.


Anmelden zum Antworten