Heim > Artikel > Backend-Entwicklung > Python3 Pandas liest MySQL-Daten und fügt sie ein
Das Folgende ist ein Beispiel für das Lesen und Einfügen von MySQL-Daten mit Python3-Pandas. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist. Kommen Sie und schauen Sie sich gemeinsam um
Der Python-Code lautet wie folgt:
# -*- 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()
Es gibt noch andere Dinge zu beachten.
1) Es gibt zwei Tabellen in der Testdatenbank. Die Anweisungen zur Tabellenerstellung lauten wie folgt:
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;
Anfangsdaten einfügen
insert into sum_case (type_id,type_name) values (1,'a'),(2,'b'),(3,'c')
2) Benutzer1 Benutzer erstellen
grant select, update,insert on test.* to 'user1'@'localhost' identified by '123456'
Verwandte Empfehlungen:
Python-Methode zum Extrahieren bestimmter Standortdatensätze nach Groupby-Gruppierung
Das obige ist der detaillierte Inhalt vonPython3 Pandas liest MySQL-Daten und fügt sie ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!