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?

WBOY
WBOYnach vorne
2023-06-03 12:52:091649Durchsuche

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

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

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('存入成功!')

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('存入成功!')

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen