我正在尝试将数据帧写入 MySQL 表,但得到了(111 Connection refused)
error.
我在这里遵循了已接受的答案:使用 SQLAlchemy、to_sql 使用 pandas 写入 MySQL 数据库
答案的代码:
import pandas as pd
import mysql.connector
from sqlalchemy import create_engine
engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False)
data.to_sql(name='sample_table2', con=engine, if_exists = 'append', index=False)
...以及create_engine()
线路工作没有错误,但是to_sql()
线路失败并出现此错误:
(mysql.connector.errors.InterfaceError) 2003: Can't connect to MySQL server on 'localhost:3306' (111 Connection refused)
我如何连接到我的 MySQL 数据库/表并不真正相关,因此完全不同的答案值得赞赏,但考虑到pandas 0.20.2 中弃用了 MySQL“风格”,将数据帧写入 MySQL 的正确方法是什么?
感谢@AndyHayden 的提示,这个答案这就是窍门。基本取代mysqlconnector
with mysqldb
是关键。
engine = create_engine('mysql+mysqldb://[user]:[pass]@[host]:[port]/[schema]', echo = False)
df.to_sql(name = 'my_table', con = engine, if_exists = 'append', index = False)
Where [schema]
是数据库名称,在我的具体情况下,:[port]
被省略[host]
being localhost
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)