2016-11-17 4 views
0

Ich habe eine Tabelle in Pandas Dataframe df.Fehler beim Speichern von Pandas Datenrahmen in msql Datenbank

enter image description here

Ich möchte diese in die Datenbank schreiben. also benutze ich df.to_sql, bekomme aber einen fehler. Ich benutze MySQLdb.

import MySQLdb 
conn = MySQLdb.connect(host="1xx.xxx.x.xxx", user="uname", passwd="123", db="dbname") 
cursor = conn.cursor() 

df.to_sql(con=conn, name='table_name', if_exists='replace', flavor='mysql') 

aber ich bin immer Fehler: OperationalError: (1241, 'Operand should contain 1 column(s)')

irgendwelche Einsichten/Lösungen, warum dies geschieht? Vielen Dank im Voraus

Antwort

0

Vielleicht übergeben Sie eine falsche Variable. Sind Sie sicher, dass Sie Strings an MySQL statt an Listen übergeben?

EDIT: Ich glaube, Sie mögen dieses

Sie benötigen

import pandas as pd 
import mysql.connector 
from sqlalchemy import create_engine 

col1 = 123, 676, 93 
col2 = 3245, 35346, 32 
frequency = 2, 84, 9 

dataset = list(zip(col1,col2,frequency)) 

df = pd.DataFrame(data = dataset, columns=['col1', 'col2', 'frequency']) 

engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False) 
df.to_sql(name='sample_table2', con=engine, if_exists = 'append', index=False) 

versuchen sqlalchemy ( pip install sqlalchemy) zu installieren, und Sie haben die sqlconnector von mysql website

Sag mir zum Download, wenn Sie etwas anderes brauchen.

+0

Ich habe Sie nicht bekommen – Shubham

+0

Können Sie ein Beispiel Ihres Dataframes veröffentlichen? – andrepogg

+0

Können Sie versuchen, dies zu ändern 'df.to_sql (con = conn, name = 'Tabellenname', if_exists = 'ersetzen', Flavor = 'Mysql')' – andrepogg

Verwandte Themen