Python中的MySQL LOAD DATA INFILE无法使用变量工作

时间:2014-09-16 08:16:43

标签: python mysql load-data-infile

我有一个Python脚本,我想在其中运行LOAD DATA INFILE命令。

我有一个变量,

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")

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

好像你只需要用引号括起来。

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