Heim > Datenbank > MySQL-Tutorial > Welche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?

Welche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-06-03 12:52:09
nach vorne
1682 Leute haben es durchsucht

Szenario 1: Daten müssen nicht häufig in MySQL geschrieben werden

Verwenden Sie die Import-Assistent-Funktion des Navicat-Tools. Diese Software kann eine Vielzahl von Dateiformaten unterstützen, automatisch Tabellen basierend auf Dateifeldern erstellen, Daten einfach einfügen und ist außerdem sehr schnell.

Welche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?

Welche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?

Szenario zwei: Die Daten sind inkrementell und müssen automatisiert und häufig in MySQL geschrieben werden

Testdaten: CSV-Format, etwa 12 Millionen Zeilen

import pandas as pd
data = pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.shape
Nach dem Login kopieren

Ergebnisse drucken

Welche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?

Methode eins

Python + Pymysql-Bibliothek

Pymysql-Befehl installieren

pip install pymysql
Nach dem Login kopieren

Code-Implementierung:

import pymysql

# 数据库连接信息
conn = pymysql.connect(
       host='127.0.0.1',
       user='root',
       passwd='wangyuqing',
       db='test01', 
       port = 3306,
       charset="utf8")

# 分块处理
big_size = 100000
# 分块遍历写入到 mysql    
with pd.read_csv('./tianchi_mobile_recommend_train_user.csv',chunksize=big_size) as reader:

    for df in reader:

        datas = []
        print('处理:',len(df))
#         print(df)
        for i ,j in df.iterrows():
            data = (j['user_id'],j['item_id'],j['behavior_type'],
                    j['item_category'],j['time'])
            datas.append(data)
        _values = ",".join(['%s', ] * 5)
        sql = """insert into users(user_id,item_id,behavior_type
        ,item_category,time) values(%s)""" % _values
        cursor = conn.cursor()
        cursor.executemany(sql,datas)
        conn.commit()
 # 关闭服务      
conn.close()
cursor.close()
print('存入成功!')
Nach dem Login kopieren

Welche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?

Methode 2

pandas + sqlalchemy: Pandas muss sqlalchemy einführen, um SQL mit der Unterstützung von sqlalchem ​​zu unterstützen y, es kann alle gängigen implementieren Datenbanktypen Abfrage, Aktualisierung und andere Vorgänge.

Code-Implementierung:

from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:wangyuqing@localhost:3306/test01')
data = pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.to_sql('user02',engine,chunksize=100000,index=None)
print('存入成功!')
Nach dem Login kopieren

Welche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, in Python in eine MySQL-Datenbank zu schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage