Rumah  >  Artikel  >  pangkalan data  >  Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?

Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?

WBOY
WBOYke hadapan
2023-06-03 12:52:091571semak imbas

Senario 1: Data tidak perlu kerap ditulis ke mysql

Gunakan fungsi wizard import alat navicat. Perisian ini boleh menyokong pelbagai format fail, membuat jadual secara automatik berdasarkan medan fail dan memasukkan data dengan mudah, dan ia juga sangat pantas.

Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?

Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?

Senario 2: Data adalah tambahan dan perlu diautomatikkan dan kerap ditulis ke mysql

Data ujian: Format csv, kira-kira 12 juta baris

import pandas as pd
data = pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
data.shape

Cetak hasil

Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?

Kaedah 1

python + perpustakaan pymysql

Pasang pymysql Command

pip install pymysql

pelaksanaan kod:

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

Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?

Kaedah 2

pandas + sqlalchemy: panda perlu memperkenalkan sqlalchemy, dalam menyokong sql sqlalchemy Dengan sokongan, ia boleh melaksanakan pertanyaan, kemas kini dan operasi lain semua jenis pangkalan data biasa.

Pelaksanaan kod:

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

Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?

Atas ialah kandungan terperinci Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam