Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pandas to_sql doesn't insert any data in my table

Tags:

I am trying to insert some data in a table I have created. I have a data frame that looks like this:

dataframe

I created a table:

create table online.ds_attribution_probabilities ( attribution_type text, channel text, date date , value float ) 

And I am running this python script:

engine = create_engine("postgresql://@e.eu-central-1.redshift.amazonaws.com:5439/mdhclient_encoding=utf8") connection = engine.raw_connection() result.to_sql('online.ds_attribution_probabilities', con=engine, index = False, if_exists = 'append') 

I get no error, but when I check there are no data in my table. What can be wrong? Do I have to commit or do an extra step?

like image 379
Nasia Ntalla Avatar asked Jan 17 '18 17:01

Nasia Ntalla


People also ask

Can pandas read database table?

pandas read_sql() function is used to read SQL query or database table into DataFrame. This is a wrapper on read_sql_query() and read_sql_table() functions, based on the input it calls these function internally and returns SQL table as a two-dimensional data structure with labeled axes.


1 Answers

Try to specify a schema name:

result.to_sql('ds_attribution_probabilities', con=engine,                schema='online', index=False, if_exists='append') 
like image 86
MaxU - stop WAR against UA Avatar answered Sep 17 '22 21:09

MaxU - stop WAR against UA