Visualizzazione dei risultati da 1 a 7 su 7

Discussione: importare file txt

  1. #1

    importare file txt

    Ho un file di testo con la tabulazione dello SPAZIO, dovrei importarlo direttamente in un db mysql in modo che mi crei automaticamente la tabella e i relativi campi, girando nel forum ho trovato questo script ma è relativo ai file CSV

    codice:
    LOAD DATA INFILE 'file.csv' INTO TABLE tabella 
    FIELDS TERMINATED BY ';' 
    ENCLOSED BY '"' 
    ESCAPED BY '\\' 
    LINES TERMINATED BY '\r\n'
    dove trovo quello per i file TXT ?

    dovrei far eseguire questa operazioni in PHP

    Grazie a tutti

  2. #2
    cioè hai un file in cui i campi sono separati da spazi e record sono ognuno su uana riga?

    allora dai nìocchiata qua
    http://www.guidoz.it/forum/viewtopic.php?t=740


  3. #3
    salve a tutti.
    premetto che lavoro in locale con easyphp.

    devo caricare dati da vari file di testo .txt molto grandi (fino a 700 mb...) e con centinaia di migliaia di righe.
    siccome ogni volta che lancio lo script che

    - legge la riga, crea le variabili ed inserisce nel db

    il mio pc si suicida

    ho pensato di risolvere con la funzione LOAD DATA INFILE...

    ma non funziona :master

    questa è la query:
    LOAD DATA INFILE 'xxxxx.txt' INTO TABLE 'xxx' FIELDS TERMINATED BY ';' LINES TERMINATED BY '\\r\\n'




    qualcuno può aiutarmi?

    ciao e grazie!

  4. #4
    Quando usate LOAD DATA INFILE la tabella nel db mysql deve contenere le stesse colonne del csv o per capirci lo stesso numero di separatori del txt altrimenti non funziona correttamente.

    Se avete mysql 5 invece potete indicare nella funzione quali campi omettere e quali inserire tipo

    (@a,nome,cognome,@b);

    In questo caso su un csv o txt delimitato da 4 campi la funzione inserisci nel db i valori di nome e cognome omettendo la prima e l'ultima colonna. Quindi il vostro db può essere composto da solo due colonne.


  5. #5
    grazie mille per la risposta!
    i miei file di testo arrivano a 7-800.000 righe, ognuna di 600 caratteri, compresi gli spazi.
    il mio obiettivo sarebbe quello di inserire queste righe con la funzione "load data infile" per poi lavorare direttamente su db con le mie query.

    grazie

  6. #6
    ho messo il file di testo nella cartella mysql/data e funziona!

  7. #7
    mi chiedevo...

    io faccio 2 passaggi ora:

    acquisisco il file txt su una tabella ed in seguito divido la riga importata in 100 parti che inserisco in un'altra tabella... VVoVe:



    Codice PHP:
    LOAD DATA INFILE '***.txt' INTO TABLE inventari_righe FIELDS TERMINATED BY ';' LINES TERMINATED BY '\\r\\n' (riga
    la tabella inventari_righe ha 2 campi: id e riga, dove inserisco l'intera riga (fino a 600 caratteri) che poi vado a riprendere con una query...

    sarebbe possibile modificare la query qui sopra in modo da inserire direttamente nella tabella inventari_record (100 campi...) col metodo load data, tenendo conto del fatto che i dati contenuti in ogni singola riga non sono divisi (con uno spazio o con un tra loro?

    posso fare un substr all'interno della query sopra riportata?

    ci provo!


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.