pandas中的io.sql.to_sql实现导入数据库

       Excel表头和mysql字段名相同

  1. Excel字段 共3000条
    在这里插入图片描述
    在这里插入图片描述
  2. Mysql字段
    在这里插入图片描述
    在这里插入图片描述
  3. 通过pandas中的io.sql.to_sql实现导入数据库
    mysql+pymysql://用户名:密码@数据库地址/数据库名?charset=utf8’
import pandas as pd
import sqlalchemy as sqla
import pymysql
import time


def pandas_import():
    db=sqla.create_engine('mysql+pymysql://test:test123@127.0.0.1/db_test?charset=utf8')
    df = pd.read_excel('./test.xlsx', header=[0])   # 第一行是表头
    df['create_time'] = time.time()   # 可忽略此行
    pd.io.sql.to_sql(name='t_test_file_import', frame=df, con=db, index=False, if_exists='append')  # 追加写入


if __name__ == '__main__':
    curr_time_start = time.time()
    print('开始时间为%s' % (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())))
    pandas_import()
    curr_time_end = time.time()
    print('结束时间为%s' % (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())))
	print('总计耗时为%s' % (curr_time_end - curr_time_start))

仅耗时0.285秒就将3000条数据写入数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值