Rumah >pangkalan data >tutorial mysql >Apakah cara untuk menulis ke pangkalan data MySQL dalam Python?
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.
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
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('存入成功!')
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('存入成功!')
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!