pymysql读写数据库简直是龟速,pandas自带的to_sql让我怀疑是不是系统直接卡死了。
在网上找到一个大神包,配合pd几秒钟导入十几万数据,分享一下。
import pandas as pd
from sqlalchemy import create_engine
#上面的复制就行
#读数据
pd.read_excel(r'C:Users13067Desktop汇总表.xlsx',sheet_name = '汇总')
#连接引擎
conn = create_engine('mysql+mysqldb://root:123@localhost/detail?charset=utf8')
写入数据库
pd.io.sql.to_sql(df1,'汇总1',con=conn,schema='detail',if_exists='append',index
=False)
#关闭
conn.dispose()
强大之处就是直接把pd处理好的数据导入,速度贼快~
表结构要预先在mysql里面做好,detail为数据库名(写两次),root 123 账号密码,localhost服务器,可以改成你想要写入的服务器ip ,exist 有三类参数,append,fail,repalce。
一般第一次用都会报错ModuleNotFoundError: No module named 'MySQLdb'
如果是win就直接 pip install mysqlalche 再运行一次就ok了