Pandas 0.20.2 to_sql() 使用 MySQL
Pandas 0.20.2 to_sql() using MySQL
我正在尝试将数据帧写入 MySQL table 但出现 (111 Connection refused)
错误。
我在这里遵循了公认的答案:
答案代码:
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 数据库/table 并不是真正相关的,所以完全不同的答案是值得赞赏的,但是考虑到 deprecation of the MySQL 'flavor' in pandas 0.20.2,正确的写法是什么MySQL?
的数据框
感谢@AndyHayden 的提示,this answer 是诀窍。基本上用 mysqldb
替换 mysqlconnector
是关键。
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)
其中 [schema]
是数据库名称,在我的特定情况下,:[port]
被省略,[host]
为 localhost
。
我正在尝试将数据帧写入 MySQL table 但出现 (111 Connection refused)
错误。
我在这里遵循了公认的答案:
答案代码:
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 数据库/table 并不是真正相关的,所以完全不同的答案是值得赞赏的,但是考虑到 deprecation of the MySQL 'flavor' in pandas 0.20.2,正确的写法是什么MySQL?
的数据框感谢@AndyHayden 的提示,this answer 是诀窍。基本上用 mysqldb
替换 mysqlconnector
是关键。
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)
其中 [schema]
是数据库名称,在我的特定情况下,:[port]
被省略,[host]
为 localhost
。