我的脚本使用sqlalchemy连接到MySQL数据库from sqlalchemy import *
engine = create_engine("mysql+mysqlconnector://user:password@ip:port/dbName")
然后使用pandas read_csv函数读入txt文件,然后使用dataframe在数据库中创建一个新表,使用:
^{pr2}$
脚本工作得非常好,除了随机地似乎卡在前面的语句上,即写入数据库。我的意思是,这不是特定于文件的,所以不只是简单地花费较长的时间来上传更大的文件。如果我重新启动它,它之前被“冻结”的文件会立即上载,但随后它会再次冻结,比如说12个文件之后或1个文件之后(非常随机)。它“冻结”的表实际上是完全上传的(当我检查数据库时,它就在那里),所以它似乎冻结了,无法进入下一个语句。(不会抛出错误;脚本似乎在正常运行,除非什么都没有发生)。感谢任何帮助。在
编辑:
在启用调试之后,当冻结时,它似乎完成了所有的任务(因此表甚至出现在数据库中)也就是说2016-03-16 03:16:19,720 INFO sqlalchemy.engine.base.Engine {}
2016-03-16 03:16:19,806 INFO sqlalchemy.engine.base.Engine COMMIT
2016-03-16 03:16:19,935 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2016-03-16 03:16:20,015 INFO sqlalchemy.engine.base.Engine INSERT INTO `tableName` COLUMNS (***shortened this***)
2016-03-16 03:16:21,482 INFO sqlalchemy.engine.base.Engine COMMIT
2016-03-16 03:16:21,686 INFO sqlalchemy.engine.base.Engine SHOW FULL TABLES FROM `dbName`
2016-03-16 03:16:21,686 INFO sqlalchemy.engine.base.Engine {}
它只是不继续执行下一个命令,也就是下一个迭代(同样,这种情况并不总是如此;似乎在大约1-3个表之后停止)