다음은 python3 pandas로 MySQL 데이터를 읽고 삽입하는 예제입니다. 좋은 참고값이 있어 모든 분들께 도움이 되길 바랍니다. 함께 살펴볼까요
파이썬 코드는 다음과 같습니다.
# -*- coding:utf-8 -*- import pandas as pd import pymysql import sys from sqlalchemy import create_engine def read_mysql_and_insert(): try: conn = pymysql.connect(host='localhost',user='user1',password='123456',db='test',charset='utf8') except pymysql.err.OperationalError as e: print('Error is '+str(e)) sys.exit() try: engine = create_engine('mysql+pymysql://user1:123456@localhost:3306/test') except sqlalchemy.exc.OperationalError as e: print('Error is '+str(e)) sys.exit() except sqlalchemy.exc.InternalError as e: print('Error is '+str(e)) sys.exit() try: sql = 'select * from sum_case' df = pd.read_sql(sql, con=conn) except pymysql.err.ProgrammingError as e: print('Error is '+str(e)) sys.exit() print(df.head()) df.to_sql(name='sum_case_1',con=engine,if_exists='append',index=False) conn.close() print('ok') if __name__ == '__main__': df = read_mysql_and_insert()
그 밖에도 주의할 점이 있습니다.
1) 테스트 데이터베이스에는 두 개의 테이블이 있습니다. 테이블 생성 문은 다음과 같습니다.
CREATE TABLE `sum_case` ( `type_id` tinyint(2) DEFAULT NULL, `type_name` varchar(5) DEFAULT NULL, KEY `b` (`type_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `sum_case_1` ( `type_id` tinyint(2) DEFAULT NULL, `type_name` varchar(5) DEFAULT NULL, KEY `b` (`type_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
초기 데이터 삽입
2) user1 사용자 생성
insert into sum_case (type_id,type_name) values (1,'a'),(2,'b'),(3,'c')
관련 권장 사항:
위 내용은 python3 pandas는 MySQL 데이터를 읽고 삽입합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!