Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139

    Confronto tra due file .CSV

    Ho due file in formato .csv tutti e due con 10 colonne. Devo confrontare i dati della prima colonna del primo file febbraio.csv con i dati della prima colonna del secondo file gennaio.csv e stampare a video quelli di febbraio.csv che non sono presenti nell'altro file.

    in questo modo recupero i dati presenti nella prima colonna dei due file e li stampo a video però non riesco a fare il confronto

    <?php

    $handle = fopen("febbraio.csv", "r");
    while (($data = fgetcsv($handle, 5000, ",")) !== FALSE) {
    echo $data[0];
    echo "</br>";
    }


    $handle1 = fopen("gennaio.csv", "r");
    while (($data1 = fgetcsv($handle1, 5000, ",")) !== FALSE) {
    echo $data1[0];
    echo "</br>";
    }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    p.es.:
    Codice PHP:
    $handle1 fopen("gennaio.csv""r");
    $handle2 fopen("febbraio.csv""r");
    while ( ((
    $data1 fgetcsv($handle15000",")) !== FALSE) && (($data2 fgetcsv($handle25000",")) !== FALSE) ) {
      print 
    $data1[0].' '.$data2[0].' ';
      if (
    $data1[0]==$data2[0]) print "OK";
      print 
    "</br>";
    }; 

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139
    Questo script controlla se il dato si trova nell stessa posizione nei due file.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    sì... è quello mi pareva chiedesse

    Se invece devi confrontarli tutti allora puoi lasciare i cicli separati e memorizzare i dati, cioè dove fai echo $data[0]; aggiungi $d1[] = $data[0]; e analogamente nell'altro e poi semplicemente confronti i vettori

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139
    puoi farmi un 'esempio

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    + che un esempio... uno script completo aggiungendo righe al tuo esempio:

    Codice PHP:
    <?php

    $dati1 
    = array(); $dati2 = array();

    $handle fopen("febbraio.csv""r");
    while ((
    $data fgetcsv($handle5000",")) !== FALSE) {
    echo 
    $data[0];
    $dati1[] = $data[0];
    echo 
    "</br>";
    }


    $handle1 fopen("gennaio.csv""r");
    while ((
    $data1 fgetcsv($handle15000",")) !== FALSE) {
    echo 
    $data1[0];
    $dati2[] = $data[0];
    echo 
    "</br>";
    }

    $diff array_diff($dati1$dati2); // verificare ordine dei vettori: vedi manuale
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    139
    ottimo!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.