2016-11-17 15 views
0

私はpandasデータフレームdfにテーブルを持っています。pandasデータフレームをmsqlデータベースに保存中にエラーが発生しました

enter image description here

私はデータベースにこれを書きたいです。私はdf.to_sqlを使用していますが、エラーが発生しています。 私は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') 

が、私はエラーを取得しています:なぜこれが起こっているのOperationalError: (1241, 'Operand should contain 1 column(s)')

任意の洞察力/ソリューション?ありがとうございます。

答えて

0

おそらく間違った変数を渡しています。リストの代わりにMySQLに文字列を渡してもよろしいですか?

編集:私はあなたがSQLAlchemyの(pip install sqlalchemy)をインストールする必要があり、この

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) 

ように試みることができると思うと、あなたが何か他のものが必要な場合を教えてくださいmysql website

からsqlconnectorをダウンロードする必要があります。

+0

私はあなたを得ません – Shubham

+0

あなたのデータフレームの例を投稿できますか? – andrepogg

+0

これを変更できますか? 'df.to_sql(con = conn、name = 'table_name'、if_exists = 'replace'、flavor = 'mysql')' – andrepogg

関連する問題