2014-09-16 2 views
0

У меня есть сценарий Python, в котором я хочу запустить команду LOAD DATA INFILE.MySQL LOAD DATA INFILE в Python не работает с использованием переменной

У меня есть переменная,

naseq_file = "../data/parsed/bga/Proma_str.MIT9215_nasequenceimp.parsed" 

Я делаю:

sql = """LOAD DATA LOCAL INFILE %s INTO TABLE nasequenceimp FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';""" % (naseq_file) 
try: 
    c.execute(sql01) 
    conn.commit() 
except StandardError, e: 
    print e 
    conn.rollback() 

Где naseq_file имеет имя файла.

Но он показывает ошибку:

(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '../data/parsed/bga/Proma_str.MIT9215_nasequenceimp.parsed INTO TABLE nasequencei' at line 1") 

Что случилось с моим кодом?

ответ

0

Похоже, вам просто нужно обернуть его в кавычки.

sql = """LOAD DATA LOCAL INFILE "%s" INTO ..."""