just quick question guys: created darabase in mysql (opinions):
mysql> show databases; +--------------------+ | database | +--------------------+ | information_schema | | mysql | | opinions | | performance_schema | | sys | +--------------------+ 5 rows in set (0.06 sec)
i have pandas dataframe df
:
import pandas pd df = pd.read_csv('file.csv', sep='|', names=['id', 'opinions']) df.head(3)
out:
id content 0 id1 'blablababla 1 id2 'blalbabla ... n idn 'blalbabl
then, load df
table (items
) opinions
database. tried:
import mysql.connector sqlalchemy import create_engine engine = create_engine('mysql+mysqlconnector://user:password@localhost:3306/opinions', echo=false) df.to_sql(name='items', con=engine, if_exists = 'replace', index=false) df
however, got exception:
operationalerror: (mysql.connector.errors.operationalerror) 2055: lost connection mysql server @ 'localhost:3306', system error: 32 broken pipe
how should load or write table df
opinions
database?
on mysql server opinions
not table
, database
(as show databases
implies), collection of tables. can issue select statements on tables however.
you can check tables e.g. exist via show tables in opinions
. it's convenient add database argument connection:
config = { 'user' : 'root', 'passwd' : 'password', 'host' : 'localhost', 'raise_on_warnings' : true, 'use_pure' : false, 'database' : 'opinions' } con = mysql.connector.connect(**config)
this results in table references targeted @ tables in opinions
database. plain select on existing table should work:
data = pd.read_sql('select * <some_table_name>', con)