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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。