Visualizzazione risultati 1 fino 9 di 9

Discussione: Importare file excel in database con phpadmin

  1. #1
    goalmanager non è connesso Utente
    Data registrazione
    08-03-2014
    Messaggi
    140

    Predefinito Importare file excel in database con phpadmin

    Ciao a tutti ragazzi,

    sono alle prese con un problema intuibile dall'oggetto...

    Voglio portare dei dati da un foglio excel al database importandoli...

    Ho cercato in rete e ho visto che occorre mutare il file in formato csv (dos) ma quando vado ad importarlo il sistema mi da questo errore

    Il numero dei campi non é valido nell'input CSV alla linea 1.

    il primo campo è un campo id... Ho tentato di risolvere in questo modo:

    a) Ho lasciato il campo vuoto (visto che nel database è un campo autonomo) ma quando salvo il foglio excel in csv il campo sparisce ed i campi del foglio excel differiscono di 1 campo (l'id appunto) rispetto alla tabella in phpadmin

    allora

    b) ho inserito io i numeri id (consecutivi e non uguali tra loro ovviamente partendo da 1) nel foglio excel da importare. Il numero di campi tra excel e phpadmin coincide. Ho tramutato il file excel in csv.....

    ma niente!! Non riesco ad importare i dati...

    forse sbaglio a mettere il formato? o gli altri dati da compilare prima di importare? Mi potreste dare una mano per cortesia? Grazie mille!!

  2. #2
    Guest

    Predefinito

    Anch'io ho lo stesso problema ma mi son fermato alla conversione del file in csv... :P
    Scusatemi, sono molto inesperto ma ho la necessità di inserire questi dati nel DB affinché poi li si possa elaborare e restituire al sito (in modalità visualizzazione), successivamente gli utenti del sito devono poter interagire coi dati e quindi modificarli.
    L'ultimo passaggio posso continuare a cercare da solo ma se non faccio il primo... :P
    Vi ringrazio anticipatamente e vi prego di aiutarmi, grazie :)

  3. #3
    Guest

    Predefinito

    Ciao a tutti.
    In attesa di una vostra risposta vi aggiorno sui progressi fatti.
    Ho notato che (in teoria) l'importazione di un file csv è facile perché dal pannello phpmyadmin si può utilizzare la scheda/funzione "importa".
    L'ultima prova che ho fatto è stata flaggando sull'opzione che permette di riconoscere la prima linea come nomi dei campi e indicando che l'interruzione dei campi è indicata dal " ; ".
    Però mi da ancora errore (in allegato volevo mettere uno screenshot ma non mi accetta un file jpg... ).

    l'errore è:
    Errore
    Query SQL:


    CREATE DATABASE IF NOT EXISTS `CSV_DB` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
    Messaggio di MySQL: Documentazione

    #1044 - Access denied for user '2649718'@'localhost' to database 'CSV_DB'
    Vi prego, una rispostina????!?!?!?

    P.S.: ho provato anche vari plugin per l'importazione del file csv ma mi danno sempre errore...
    Ultima modifica di fantacalciogiulio : 23-08-2014 alle ore 12.28.23

  4. #4
    Guest

    Predefinito

    L'errore sta nella stringa SQL perché dice che se non esiste, va creato il database "CSV_DB" ma altervista non consente la creazione di altri database.

  5. #5
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Prima di tutto devi conoscere esattamente il formato del CSV , poiché ne esistono diversi..
    gli elementi che distinguono un CSV sono 3:
    1) apertura e chiusura di una colonna
    2) separatore di colonne
    3) separatore di linea

    quindi se per esempio hai un file con tre campi ID , NOME , COGNOME
    il CSV con (1) " (2) , (3) ;
    sarà
    "ID","NOME","COGNOME"; riga 1
    "ID","NOME","COGNOME"; riga 2
    ....

    Una volta definito lo standart del CSV , devi creare la tabella con lo stesso numero e tipologia di campi
    quindi riprendendo il sopraelencato l'esempio avrai:
    Table nomeTabella Col1 ID num AI - Col2 Nome text - Col3 Cognome text

    Adesso puoi eseguire l'importazione:
    Apri phpMyAdmin
    Seleziona la Tabella che hai creato
    Seleziona la IMPORT
    con Browse.. seleziona il file CSV
    in Format seleziona CSV
    spunta "Replace table data with file"
    e imposta i parametri che definiscono lo standart del tuo CSV (riporto in base all'esempio sopraelencato)
    Columns separated with: ,
    Columns enclosed with: "
    Columns escaped with: "
    Lines terminated with: ;

    l'opzione : Skip this number of queries (for SQL) or lines (for other formats), starting from the first one
    identifica se hai o meno una prima riga con i nomi del campi che vuoi escludere dall'importazione

    quindi esegui l'importazione dei dati.

    Se hai altri dubbi , chiedi pure..

  6. #6
    Guest

    Predefinito

    Grazie mille, diciamo che sono un vero principiante quindi i dubbi sono tanti ma proverò a far qualche passo avanti e ritornare qui per aggiornarvi.

    Un dubbio, però, mi sovviene cmq...
    Quando creo il mio CSV, salvandolo da excel, mi crea un file che, aprendolo col blocco note o con wordpad appare così:

    campo 1;campo2;campo3;campo4(ti segnalo anche che ho messo una parentesi)
    val 1;val2;val3;val4,1
    secval1;secval2;secval3,1;secVal4
    etc..

    Come ti ho segnalato nella prima riga (quella dei nomi dei campi) c'è anche una parentesi e nei valori sottostanti ci sono valori con le virgole.
    Quello che vorrei sapere è se posso importare un CSV di questo tipo e se mi conviene e/o è possibile crearne uno formattato diversamente.

    Grazie mille :)
    Ultima modifica di fantacalciogiulio : 26-08-2014 alle ore 13.41.11

  7. #7
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    La parentesi nella prima riga non dovrebbe esserci !
    mentre per i valori .. la tua esportazione usa ; per separare le colonne
    e CR o BR per separare le righe

    quella virgola nella prima riga è anomala...

    controlla bene le opzioni nell'esportazione da excel in csv

    io ho provato è come risultato è
    val1;val2;val3
    val4;val5;val6

  8. #8
    Guest

    Predefinito

    A dire la verità sono veramente in imbarazzo...
    Comunque: ho tolto la parentesi nell'intestazione della colonna ma le virgole nei valori mi servono assolutamente!
    Sto cercando di creare la tabella (a cui intendo dare lo stesso nome che do al CSV) e sto cercando di studiare come compilare quei valori che, in fase di creazione tabella, mi chiede (concentrandomi per ora sulla tipologia dati (FLOAT, DOUBLE e DECIMAL)) ma credo che dovrei appurare una cosa prima. Avrò necessità di aggiungere dati, tramite CSV, una o due volte la settimana ed i valori dovranno "aggiungersi sotto" e non sostituirsi.
    Un'ultima domanda: mi hai raccomandato di guardare bene nelle opzioni di creazione del CSV ma... 'ndò stanno?
    Ultima modifica di fantacalciogiulio : 29-08-2014 alle ore 10.19.07

  9. #9
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Avrò necessità di aggiungere dati, tramite CSV, una o due volte la settimana ed i valori dovranno "aggiungersi sotto" e non sostituirsi.
    non comprendo perchè una volta creto il DB non aggiorni direttamente lì , ma se devi rimportare i dati da csv ogni volta .. ok
    chiaramente il tuo nuovo csv conterrà solo i dati nuovi da inserire , eseguirai quindi la stessa procedura di importazione e i dati si di aggiungeranno ai DB (visto che ID è un A.I.).

    le opzioni per creare un csv risiedono in due punti :
    1) quando si seleziona di esportare da MS Excel in CSV ti pone tre tipologie di CSV (MS-DOS , MAC , delimitato da separatore di elenco)

    2) i file excel posso contenure formule , script , formattazioni di campi , e molto altro...
    quando esporti il dato è altamente consigliato che il foglio contenga solo i dati.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •