sqlalchemy.create_engine()连接mysql时报错Could not parse rfc1738 URL from string '%s'" % name

在使用python处理大数据,难免要使用pandas和数据库。在将pandas直接存储进mysql中时,需要用到一个库sqlalchemy。用它里面的方法create_engine和数据库连接,然后直接使用df.to_sql()函数即可。


问题:在调用create_engine连接数据库时,报错 "Could not parse rfc1738 URL from string '%s'" % name

create_engine('mysql + pymysql://{}:{}@{}:{}/{}'.format(self.user,self.passwd,self.hostname,self.port,self.db))

百度有人说解决办法将单引号改成双引号,然并暖。这个和单双引号根本没关系滴。后面继续在stackflow找到了解决答案:

在create_engine入参的字符串中千万不要加空格。重要的话说三遍,不要加空格,不要加空格,不要加空格。

正确的:

create_engine('mysql+pymysql://{}:{}@{}:{}/{}'.format(self.user,self.passwd,self.hostname,self.port,self.db))

你可能感兴趣的:(sqlalchemy.create_engine()连接mysql时报错Could not parse rfc1738 URL from string '%s'" % name)