SQLAlchemy의 to_sql 메서드를 사용하여 Pandas DataFrame을 MySQL 데이터베이스에 쓰려고 하면 다음과 같은 오류가 발생할 수 있습니다. 유사함:
DatabaseError: Execution failed on sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': Wrong number of arguments during string formatting
이 오류는 실행 중인 SQL 쿼리에 불일치가 있습니다. 흥미롭게도 MySQL 대신 SQLite 데이터베이스에서 선택하려는 시도를 제안합니다.
이 문제를 해결하고 SQLAlchemy 엔진과 mysqlconnector를 사용하여 MySQL과의 올바른 연결을 설정하려면 다음 단계를 따르세요.
import pandas as pd import mysql.connector from sqlalchemy import create_engine # Create SQLAlchemy engine engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False) # Read and write using the engine connection data = pd.read_sql('SELECT * FROM sample_table', engine) data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
이 수정을 통해 읽기 및 쓰기 모두에 사용되는 연결이 MySQL에 연결된 SQLAlchemy 엔진인지 확인합니다. 이는 SQLite 관련 오류를 유발할 수 있는 원시 연결을 사용하려는 초기 시도를 제거합니다.
위 내용은 MySQL에 쓸 때 Pandas\' to_sql이 \'잘못된 인수 수\' 오류와 함께 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!