2009-08-05 11 views
13

Sto cercando una definizione di sintassi, esempio, codice di esempio, wiki, ecc. Per eseguendo un comando LOAD DATA INFILE LOCALE da python.MySQL LOAD DATA INFILE LOCALE esempio in python?

Credo di poter usare mysqlimport anche se è disponibile, quindi qualsiasi feedback (e snippet di codice) su cui è il percorso migliore, è il benvenuto. Una ricerca su Google non viene visualizzata molto in termini di informazioni correnti

L'obiettivo in entrambi i casi è lo stesso: Automatizzare il caricamento di centinaia di file con una struttura di convenzione nota di denominazione & in un'unica tabella MySQL.

David

+0

Si sta utilizzando qualsiasi libreria particolare, come MySQL-python o SQLAlchemy? – dalloliogm

+0

Posso usare qualsiasi cosa. Al momento, ho solo importare MySQLdb nello script. –

risposta

22

Beh, MySQLdb usando di pitone, io uso questo:

connection = MySQLdb.Connect(host='**', user='**', passwd='**', db='**') 
cursor = connection.cursor() 
query = "LOAD DATA INFILE '/path/to/my/file' INTO TABLE sometable FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\\\'" 
cursor.execute(query) 
connection.commit() 

sostituendo l'host/utente/passwd/db come appropriato per le vostre esigenze. Questo è basato sui documenti MySQL here, L'esatta istruzione LOAD DATA INFILE dipenderà dai requisiti specifici ecc. (Le istruzioni FIELDS TERMINATED BY, ENCLOSED BY e ESCAPED BY saranno specifiche per il tipo di file che si sta tentando di leggere in).

+0

Nel mio caso mi mancava solo il commit() alla fine. Si scopre che è necessario dopo un CARICO DATI altrimenti la transazione si perde. –

+0

Vorrei poterlo sradicare due volte per 'connection.commit()' che non viene mostrato in molti posti –

+0

Precisamente. Nella maggior parte dei casi, il 'commit' thingy non è menzionato, a causa del quale semplicemente non funziona. – SexyBeast

0

È possibile anche ottenere i risultati per l'importazione aggiungendo le seguenti righe dopo la query:

results = connection.info() 
Problemi correlati