ホームページ  >  記事  >  バックエンド開発  >  python3 pandas は MySQL データを読み取って挿入します

python3 pandas は MySQL データを読み取って挿入します

不言
不言オリジナル
2018-04-20 13:57:384561ブラウズ

以下は python3 pandas を使用した MySQL データの読み取りと挿入の例です。非常に参考になるので、皆さんのお役に立てれば幸いです。一緒に見に来てください

Python コードは次のとおりです:


# -*- 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) テストデータベースには 2 つのテーブルがあります。テーブル作成ステートメントは次のとおりです。 rrリー



2) user1 user を作成します



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;

関連推奨事項:

groupby グループ化後に Python で指定された位置記録メソッドを抽出します


以上がpython3 pandas は MySQL データを読み取って挿入しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。