【问题标题】:Python: LOAD DATA INFILE mySQLPython:加载数据输入 mySQL
【发布时间】:2014-11-25 05:57:54
【问题描述】:

我尝试使用 Python 将数据导入 mySQL 数据库,但无法正常工作。我没有收到任何错误,看起来好像一切正​​常,但文本文件永远不会被导入。

如果我通过终端中的 mysql 命令行手动执行,我可以很好地导入文本文件。我做错了什么?

imoprt mysql.connector
cnx = mysql.connector.connect(user ='user1', password ='12345', host ='127.0.0.1', database ='stockStatus')
cursor = cnx.cursor()
cursor.execute('use stockStatus')
cursor.execute('truncate table products')
cursor.execute("LOAD DATA INFILE '/Path/products.txt' INTO TABLE products IGNORE 1 LINES")
cnx.close()

【问题讨论】:

  • 你也可以切换到mysql连接器python v2.0.1,默认启用LOCAL INFILE
  • 我已经在 v2.0.1
  • 好的,我认为问题是你最后没有做 cnx.commit() 。默认情况下,自动提交设置为 False,因此您必须显式调用提交,或者使用 autocommit=True 建立连接
  • 谢谢@Peeyush!做到了。

标签: python mysql


【解决方案1】:

尝试在输入文件名周围使用双引号:

cursor.execute('LOAD DATA INFILE "/Path/products.txt" INTO TABLE products IGNORE 1 LINES')

【讨论】:

  • 不,没有这样做。
猜你喜欢
  • 2016-02-14
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多