>백엔드 개발 >파이썬 튜토리얼 >python3 pandas는 MySQL 데이터를 읽고 삽입합니다.

python3 pandas는 MySQL 데이터를 읽고 삽입합니다.

不言
不言원래의
2018-04-20 13:57:384617검색

다음은 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;


초기 데이터 삽입


rr 리


2) user1 사용자 생성


insert into sum_case (type_id,type_name) values (1,'a'),(2,'b'),(3,'c')


관련 권장 사항:

Python은 그룹별로 지정된 위치 기록 방법을 추출



위 내용은 python3 pandas는 MySQL 데이터를 읽고 삽입합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.