• User

    Importazione Csv su mysql

    Dopo vari tentativi, mi aggrappo a voi nella speranza di venirne a capo, consapevole della mia ignoranza, ma senza essere riuscito a trovare soluzione altrove.
    Ho un elenco xls da importare in mysql, (hosting su aruba).
    Ho già provato a cercare su discussioni precedenti, ma poco successo.
    Penso che l'argomento non sia nuovo, anzi dovrebbe essere un problema basilare, ma finora non ho trovato nulla.
    Ho provato da interfaccia phpmyadmin, importazione csv mi da questo:
    "Contatore di campo non valido nell'input CSV alla linea 1."
    Credevo che il problema fosse nell' id
    così ho fatto vari tentativi, eliminando la colonna id sia nel csv che in mysql, o provando l'importazione da altri script, anche script che creavano automaticamente la tabella e i suoi campi ( aprte che riusciva, ma ancora senza importare i contenuti) ho provato sempre da phpmyadmin l'opzione "csv usando load data" , in questo caso mi importa solo i campi INT.
    Premetto che ho usato Openoffice per creare il csv.
    La mia id è un campo INT impostato chiave primaria con Extra: autoincrement.
    Qualcuno mi puo' dare una mano?
    :mmm: :mmm: :mmm: :mmm: :mmm: :mmm: :mmm: :mmm: :mmm:


  • User Attivo

    I campi nella tabella sono "compatibili" con i campi sul csv?
    Ossia sono lo stesso numero e dello stesso tipo?
    Non è che stai inserendo una stringa in un campo int o cose del genere?


  • User

    Avevo 3 campi numerici ( per non dire cose diverse da quello che sono, tre campi che nel csv hanno un valore non delimitato dai doppi apici e che nella struttura della tabella ho messo come tipo INT ), per il resto solo varchar che nel csv sono delimitati da doppi apici. Con importa csv di phpmyadmin mi dava il messaggio "Contatore di campo non valido nell'input CSV alla linea 1." Con importa load data mi carica solo i campi numerici e lascia vuoti gli altri.
    Ho provato anche a togliere tutti e tre i numerici sia in tabella che nel csv
    ma mi da ancora lo stesso errore.
    Anche con un altra tabella per un altro sistema avevo lo stesso problema.
    Allora pensavo fosse il camèpo data e ho sospeso l'idea inattesa di capirci meglio, ma ora ci risono da capo.
    Mi viene da credere che sia un problema di Open Office, o forse una mia impostazione di fondo sbagliata nell'impostare il campo id(visto che l'errore parla di contatore) ma se l'ho tolta non dovrebbe, e quindi non so più che pensare.


  • User

    Tutto ok.
    C'era un po' di differenza tra il set di caratteri che esporta di default open office, il charset che settava la query che utilizzavo per creare la struttura della tabella e il charset che di default imposta phpmyadmin.
    Se a questo aggiungo che openoffice imposta come separatore di campo di default la virgola mentre phpmyadmin da di default il punto e virgola...
    Bè facevo del sano casino.


  • User Newbie

    ho lo stesso problema mi dici esattamente come hai settato ecc
    io devo mettorlo tramite phpmyadmin
    non ne capisco niente ne di php ne di csv ne di niente pero devo imporare assolutamente questo file csv e mi da sempre errore contatore alla linea 1


  • User

    Come separatore dei campi usa la virgola, mentre come delimitatore di riga usa il punto e virgola;
    Una volta che lo hai salvato da open office, aprilo con il blocco note per vedere effettivamente cosa hai salvato.
    Magari se nel mysql hai già altri contenuti, prova a fare un export di un a tabella e poi aprilo con il blocco note, così almeno vedrai una struttura analoga a quella che dovrai avere nel file che vuoi importare ( forse questa cosa ti fa più difficoltà che altro se stai partendo da zero, ma purtroppo un po le ossa sulle importazioni e i db in generale bisogna farsele... )


  • User Newbie

    Ciao e scusate se mi intrometto dopo qualche annetto. :dull::dull:

    Anch'io ho lo stesso problema e non ho capito perfettamente come fare.

    Premetto che anch'io ho usato Open Office e sono alle prime armi con questo tipo di operazione.

    Ho creato un file .csv con la "," come separatore di testo e le virgolette "bla bla bla" come delimitatori di testo.

    Il ";" non me lo chede nemmeno di metterlo. Infatti a fine riga non c'è di conseguenza vengono sfumate le mie già scettiche idee di acquisizione di questo documento.

    La mole di dati abbondante quindi l'unico modo che ho a disposizione è questo.

    Potresti cortesemente spiegarmi nel dettaglio, passaggio per passaggio, cosa hai fatto?

    Ti rimgrazio in anticipo!

    Roberto.


  • User

    Scusa ma il tempo disponibile è veramente poco e la mia memoria è praticamente nulla 😢 . Non ricordo i passaggi fatti , e sinceramente neppure il porblema :mmm: ;
    In effetti tra un importazione e l'altra mi passa sempre un po' di tempo e mi dimentico sempre, quindi qualche prova mi tocca sempre rifarla, ma alla fine dopo qualche tentativo la cosa riesce.
    Abbi solo un po' di pazienza.
    Penso che il tutto stia nel fare un export di prova e guardarla con notepad.
    Comunque
    Phpmyadmin di default usa
    Campo terminato da ;
    Campo composto da "
    Linee terminate da AUTO
    Mentre quando salvi la prima volta il tuo csv da openoffice ( Salva con nome ---> Testo CSV
    ti suggerisce di default
    Separatore di campo ,
    separatore di testo "
    Per le linee effettivamente aprendo il risultato con notepad vedo che va acapo automaticamente senza scrivere nulla.
    A questo punto dovrebbe essere semplicemente questione di far combaciare le cose, in particolare il separatore di campo di OpenOffice fallo diventare ; e magari cambia anche il set di caratteri in quanto in importazione mysql vuole utf8 mentre openoffice prende windows-1252 sempre dalle impostazioni scelte in fase di salvataggio nella schermata dopo la scelta del formato.
    Mi spiace non poter fare ulteriori prove per darti certezze, ma il tempo è tiranno .
    Buon lavoro


  • User Newbie

    Ciao a tutti, riprendo questo vecchio topic perchè ho un problema simile a quello già descritto.

    Ho delle tabelle xls da importare in mysql, (hosting su aruba), ho provato dall' interfaccia phpmyadmin ad importarle dopo averle salvate in csv mi da questo:
    'Contatore di campo non valido nell'input CSV alla linea 17.'

    Di conseguenza mi importa perfettamente i primi 16 record e niente più.....qualcuno può suggerirmi una soluzione?
    Grazie


  • Bannato User Attivo

    Ciao, ho un problema anche io.

    Se esporto il file excel, aggiungo una riga. Lo salvo come csv con separatore virgola.

    Prova a importarlo, mette il numero id esatto, però poi gli altri campi sono tutti vuoti.

    Qui potete vedere uno screen:

    gyazo.com/c5528a98d8a602e83f0221b29facf655

    Aiutatemi per favore !!!


  • User

    dallo screenshot non si puo' capire gran chè ( almeno a me non viene nulla in mente ), poi il mio problema era con openoffice, non con excel ; le procedure di import export dal mio vecchio post sono cambiate e migliorate sia per oo che per excel che per le versioni di mysql, per cui servirebbero più info per aiutarti; magari mandami la parte dello script con la query di inserimento, e un export almeno di qualche riga in più del tuo file excel , così se vuoi faccio una prova.


  • Bannato User Attivo

    Allora micmilk, se mi dai una tua e-mail, ti mando il file esportato da joomla 1.5 e quello esportato da joomla 1.6.5

    Cosi magari tu riesci ad allineare bene le colonne e a salvare il csv.


  • User

    ti ho mandato la mail in privato .
    fammi sapere.


  • Bannato User Attivo

    Risolto si può chiudere.