Панды 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,

Другие вопросы по тегам