Visualizzazione dei risultati da 1 a 9 su 9

Discussione: importare csv

  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    importare csv

    ho un file csv ke racchiude i dati ke andrebbero dentro una tabella...esisste uno script (o phpmyadmin stesso) ke mi importa tutto nel db?

  2. #2
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    up

  3. #3
    Ciao, io utilizzo questo:

    $query="LOAD DATA INFILE '".$file."' REPLACE INTO TABLE `nome_tabella` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES";

    comunque per maggiori specifiche

    http://dev.mysql.com/doc/mysql/en/load-data.html

    ciao

  4. #4
    ciao

    http://dev.mysql.com/doc/mysql/en/load-data.html

    ti posto un esempio di codice:

    $query="LOAD DATA INFILE '".$file."' REPLACE INTO TABLE `nome table` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES";

  5. #5
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    perbacco...dopo un paio di mesi c'è sempre qualcuno ke mi pensa...avevo risolto facendomi uno script ke mi creava le query, ma ora nn ne avrò + di bisogno...thanks a lot

    ma nn ho capito una cosa...il csv dev'essere sul pc locale o sul hosting del dominio?

  6. #6
    se invece hai bisogno di elaborare in qualche modo (da php) i dati contenuti nel csv per poterli importare in un tuo formato che non rispecchia esattamente quello del csv, puoi usare questa fuzione che converte le righe del csv in un array bidimensionale. avendo i dati nell'array, a questo punto, puoi elaborarli da php.

    quest'ottima funzione l'ho trovata tra i contributi degli utenti di www.php.net
    l'array contiene ogni riga del csv in elementi diversi, e ogniuno di questi elementi è un altro array contenente i vari dati per ogni riga di csv.

    Codice PHP:
    /*
        Restituisce un array bidimensionale contenente tutti i campi di un file CSV, potenziato per i CSV creati da Excel.
        
            test1;test2;test3;test4;"test5
            test5b
            test5c";test6
        
        Supporta i campi stringa delimitati da " contenenti andate accapo.
        
        Codice: [url]http://it2.php.net/manual/it/function.fgetcsv.php[/url]
        
        Esempio:
            $content = join('',file('test.csv'));
            $liste = csv2array($content);
            print_r($liste);
    */
    function csv2array($content$delim ';'$encl '"'$optional 1) {
        if (
    $content[strlen($content)-1]!="\r" && $content[strlen($content)-1]!="\n")
            
    $content .= "\r\n";
        
        
    $reg '/(('.$encl.')'.($optional?'?(?(2)':'(').'[^'.$encl.']*'.$encl.'|[^'.$delim.'\r\n]*))('.$delim.'|\r\n)/smi';
        
        
    preg_match_all($reg$content$treffer);
        
    $linecount 0;
        
        for (
    $i 0$i<=count($treffer[3]);$i++) {
            
    $liste[$linecount][] = $treffer[1][$i];
            if (
    $treffer[3][$i] != $delim)
                
    $linecount++;
        }
        unset(
    $linecount);
        unset(
    $i);
        unset(
    $reg);
        unset(
    $content);
        unset(
    $delim);
        unset(
    $encl);
        unset(
    $optional);
        unset(
    $treffer);
        
        return 
    $liste;

    esempio di utilizzo:

    Codice PHP:
    $liste csv2array(join(''file($path_e_nome_file_csv)));
    for (
    $i=0$i<count($liste); $i++) {
        
    // lettura dati dall'array e elaborazione
    }
    unset(
    $i); 

  7. #7
    Utente di HTML.it L'avatar di mick
    Registrato dal
    Jun 2004
    Messaggi
    34
    ho un problema analogo... non potendo utilizzare load data, ho usato los script postato da OhMyGod, ma se prendo un file excel (.xls) e lo converto in .csv ottengo un file che, se applico lo script php fornisce caratteri strani, non i risultati (print_r($liste))... perchè? excel aggiunge cose strane ai file csv???
    Mick: Be Simply Natural

  8. #8
    ho provato ad uasare questo codice ma non va

    $liste = csv2array(join('', file($path_e_nome_file_csv)));
    for ($i=0; $i<count($liste); $i++) {
    echo $liste[$i]."
    ";
    }
    unset($i);

    dove sbaglio?

  9. #9
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da abweb
    ho provato ad uasare questo codice ma non va

    $liste = csv2array(join('', file($path_e_nome_file_csv)));
    for ($i=0; $i<count($liste); $i++) {
    echo $liste[$i]."
    ";
    }
    unset($i);

    dove sbaglio?
    dicci ke problema hai

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.