Панды 0.20.2 to_sql() с использованием MySQL
Я пытаюсь записать фрейм данных в таблицу MySQL, но получаю (111 Connection refused)
ошибка.
Я следовал принятому ответу здесь: Запись в базу данных MySQL с помощью панд с использованием SQLAlchemy, to_sql
Код ответа:
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, на самом деле не имеет значения, поэтому принимаются совершенно разные ответы, но с учетом того, что в пандах 0.20.2 устарел "вкус" MySQL, каков правильный способ записи кадра данных в MySQL?
1 ответ
Благодаря подсказке от @AndyHayden, этот ответ был хитростью. В основном замена mysqlconnector
с 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)
куда [schema]
это имя базы данных, и в моем конкретном случае, :[port]
опущен с [host]
являющийся localhost
,