Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Scrivere delle matrici su file csv

    ciao,

    dopo diversi tentavi sono riuscito a scrivere dei dati in delle matrici mediante il doppio array.
    La stampa a video con gli echo va bene, ed è questa:

    Codice PHP:
    Matrice 1
    2
    345000000000000
    0
    000123000000000
    0
    000000123000000
    0
    000000000123000
    0
    000000000000125

    Matrice 2
    0
    000000000000000
    0
    000123000000000
    0
    000000120000000
    0
    000000000020000
    0
    000000000000105

    Matrice 3
    2
    345000000000000
    0
    000000000000000
    0
    000000003000000
    0
    000000000000000
    0
    000000000000000

    Matrice 4
    0
    000000000000000
    0
    000000000000000
    0
    000000000000000
    0
    000000000100000
    0
    00000000000000
    Vorrei che questi dati venissero scritti allo stesso modo su file csv.
    Posto il codice con cui stampo a video i dati nel caso questo fosse modificabile per scrivere su file csv:

    Codice PHP:
    echo "
    Matrice 2 
    "
    ;
    // Stampo la matrice 2
    for($i 1$i <= $rows$i++) { 
        for(
    $j 1$j <= $cols$j++) { 
                if(
    $j==$cols) {
                    
    $pezzo=$matrix2[$i][$cols]."";
                    echo 
    "$pezzo ";
                    echo 
    "
    "

                } else {
                    echo 
    $matrix2[$i][$j].", "
                }
        } 

    Spero qualcuno possa darmi una dritta visto che non ho trovato nulla di simile in rete.
    grazie.
    PeppePegasus

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    108

    Re: Scrivere delle matrici su file csv

    Non ho capito esattamente cosa intendi..

    Codice PHP:
    <?php
    $rows 
    4;
    $cols 15;

    $matrix2 = array(
      array(
    2345000000000000),
      array(
    0000123000000000),
      array(
    0000000123000000),
      array(
    0000000000123000),
      array(
    0000000000000125)
    );

    $accumolo '';

    for(
    $i 0$i <= $rows$i++) {  
        for(
    $j 0$j <= $cols$j++) {  
                if(
    $j==$cols) { 
                    
    $pezzo=$matrix2[$i][$cols]; 
                    
    $accumolo .= $pezzo
                    if(
    $i!=$rows){
                      
    $accumolo .= "\n";
                    }
                } else { 
                    
    $accumolo .= $matrix2[$i][$j].',';  
                } 
        }  
    }

    header("Content-type: text/csv");
    header("Content-Disposition: attachment; filename=file.csv");
    header("Pragma: no-cache");
    header("Expires: 0");

    echo 
    $accumolo;
    ?>

  3. #3
    ciao,

    grazie per la dritta..domani la provo e ti aggiorno.
    grazie.
    ciao
    PeppePegasus

  4. #4
    ciao,

    ho utilizzato il codice che hai suggerito ma ricevo questo errore:

    Fatal error: Cannot redeclare fputcsv() in /homez.734/contextr/www/db2csv.php on line 293

    cosa significa?
    grazie.
    PeppePegasus

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    108
    in teoria non dovresti stampar nulla prima

  6. #6
    ciao,

    alla fine ho risolto così:

    Codice PHP:
    $file "inputTensor.csv";
    // apriamo il file in scrittura, 
    // il parametro 'a' indica che deve aggiungere il testo a quello esistente
    // per sovrascrivere il contenuto si usa 'w'        
    $fr fopen($file'w');
    // Stampo la matrice1 su file CSV
    for($i 1$i <= $rows$i++) { 
        for(
    $j 1$j <= $cols$j++) { 
            if(
    $j==$cols) {
                
    $pezzo=$matrix1[$i][$cols];
                
    $accumolo $pezzo." \n"
                
    fwrite($fr$accumolo);
            } else {
                
    $accumolo $matrix1[$i][$j].', ';  
                
    fwrite($fr$accumolo);  
            }
        } 
    }
    $spazio="\n";
    fwrite($fr$spazio); 
    ora va bene.
    grazie.
    ciao
    PeppePegasus

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    108
    Ah, ti serviva salvarlo sul server, il codice che ti ho dato era per generare un file sul momento da salvare sul pc, ma non doveva esserci nessun "echo" nel mezzo
    ciao, di niente comunque

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.