2017-10-27 24 views
2

いくつかのcsvファイルに基づいてmysqlに新しいDBを作成したいと思います。 何を追加する必要がありますか?そして、phpmyadminから手動で開くことなく、pythonから新しいdbを開くにはどうすればいいですか?pandas DataFrame to_sql Python

import pymysql 
import pandas as pd 

# Creating the DB: 

DB = pymysql.connect(host='localhost', 
    user='root', 
    passwd='', 
    db='DB') 

csv1 = pd.read_csv('C:/.........csv') 

csv1SQL =pd.DataFrame.to_sql(name='Orders', con=DB, flavor=None, schema=None, if_exists='fail', index=True,       index_label=None, chunksize=None, dtype=None) 

cursor.execute(csv1SQL)

cursor = pymysql.cursor() 

エラー:

"pandas.io.sql.DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': not all arguments converted during string formatting" 

答えて

1

私はquestions about pandas.to_sqlのJamesからこのようなソリューションができたことが分かった他のトピックに見えたとしてあなたの問題の解決策になります。彼が言ったことがここにあります。

あなたの方法はもうサポートされていません。 試してみますか?

from sqlalchemy import create_engine 
import pandas as pd 


engine = create_engine("mysql://root:[email protected]/ada") 
df=pd.DataFrame(['A','B'],columns=['new_tablecol']) 
df.to_sql(name='new_table',con=engine,if_exists='append') 

構文は次のとおりです。

engine = create_engine("mysql://USER:[email protected]/DATABASE") 
+0

あなたは私のコードで特定することができますか?私は何を変更するかを知る必要がある – AdiR

+0

'sql.write_frame(csv1、con = DB、name = 'csv1'、if_exists = 'replace'、flavor = 'mysql')'これを最初に試すことができますか?私はいつも私の机から出ているので、コードをチェックすることはできません。 –

+0

そのdoesntの仕事、と私はこれを正しく書いていないと思う。あなたはコードを書くことができますか? – AdiR

関連する問題