Maison > base de données > tutoriel mysql > le corps du texte

Quelles sont les manières d'écrire dans la base de données MySQL en Python ?

WBOY
Libérer: 2023-06-03 12:52:09
avant
1633 Les gens l'ont consulté

Scénario 1 : Les données n'ont pas besoin d'être écrites fréquemment sur MySQL

Utilisez la fonction d'assistant d'importation de l'outil Navicat. Ce logiciel peut prendre en charge une variété de formats de fichiers, créer automatiquement des tableaux basés sur les champs de fichiers et insérer facilement des données, et il est également très rapide.

Quelles sont les manières décrire dans la base de données MySQL en Python ?

Quelles sont les manières décrire dans la base de données MySQL en Python ?

Scénario deux : les données sont incrémentielles et doivent être automatisées et fréquemment écrites dans MySQL

Données de test : format csv, environ 12 millions de lignes

import pandas as pd
data = pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.shape
Copier après la connexion

Imprimer les résultats

Quelles sont les manières décrire dans la base de données MySQL en Python ?

Première méthode

bibliothèque python + pymysql

Installer la commande pymysql

pip install pymysql
Copier après la connexion

Implémentation du code :

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('存入成功!')
Copier après la connexion

Quelles sont les manières décrire dans la base de données MySQL en Python ?

Méthode 2

pandas + sqlalchemy : les pandas doivent introduire sqlalchemy pour prendre en charge SQL Avec le support de sqlalchemy, il peut implémenter tous les éléments courants. requête de types de base de données, mise à jour et autres opérations.

Implémentation du code :

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('存入成功!')
Copier après la connexion

Quelles sont les manières décrire dans la base de données MySQL en Python ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal