IMO sarebbe molto più efficiente usare i panda per leggere i dati dal tuo server MySQL:
from sqlalchemy import create_engine
import pandas as pd
db_connection_str = 'mysql+pymysql://mysql_user:[email protected]_host/mysql_db'
db_connection = create_engine(db_connection_str)
df = pd.read_sql('SELECT * FROM table_name', con=db_connection)
questo dovrebbe occuparsi anche dei nomi delle colonne...