之前弄数据库的时候, 测试excel导mysql, 中间用pandas 处理后再入库.  直接上代码, 此种有真意, 尽在不言中.

 #!/usr/bin/env python
# coding: utf-8
# author: chenjie131@ke.com '''
应用场景:
将excel等存储的数据导入到 Mysql, 适用于追加表, 或者追加数据. 1. 数据库表已存在, 可在需表后面添加数据.
2. 数据库表不存在, 导入时直接创建表在数据库中.
3. 特点:
3.1 这里用pandas.to_sql()方法, 以块的方式导入效率高, 10000行100列的表,2.5s 导完.
3.2 替代品,sql方式可参考load data local ....
3.3 缺点是如果表存在, 且设置主键约束, 就不适用 ''' import pandas as pd
from sqlalchemy import create_engine 文件路径 = "C:\\Users\beike\\Desktop\\8月带看明细8.15.xls" # 1. 读取excel, sheet_name: 默认读取Sheet1,按需指定
table = pd.read_excel(文件路径, sheet_name="明细") # 2. 连接MySql数据库, //后的参数为: 用户名, 密码, 主机, 数据库名
engine = create_engine("mysql+pymysql://zmj:123456@192.168.6.81:3306/new_house") # 3. 连接测试
try:
pd.read_sql("show tables;", con=engine); print("connect successfully!")
except Exception as error:
print("connect fail! because of :", error) # 4. to_sql()方法插入数据, 更多细节自行查文档 # 参数1: 表的名字,建议不要用中文
# con: 之前创建的连接对象
# if_exists:
# "replace": 如果传入的表名在库里存在, 则会删掉该表, 重新创建
# "append": 如果传入的表名在库里存在, 则会追加数据, 注意字段顺序一致, 注意当有主键约束则易报错
try:
table.to_sql("测试表", con=engine, index=False, if_exists="replace"); print("insert successfully!")
except Exception as error: print("insert fail! because of:", error) print("##"*20)
print("done!")

Excel 批量导入Mysql(创建表-追加数据)的更多相关文章

  1. MySql 创建表 插入数据!

    create table stu( id int, sname VARCHAR(20), sex VARCHAR(1), birthday DATETIME) insert into stu valu ...

  2. mysql中把一个表的数据批量导入另一个表中

    mysql中把一个表的数据批量导入另一个表中   不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定 ...

  3. SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库

    SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库  /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...

  4. Weka里如何将arff文件或csv文件批量导入MySQL数据库(六)

    这里不多说,直接上干货! 前提博客是 Weka中数据挖掘与机器学习系列之数据格式ARFF和CSV文件格式之间的转换(四) 1.将arff文件批量导入MySQL数据库 我在这里,arff文件以Weka安 ...

  5. oracle 批量更新之将一个表的数据批量更新至另一个表

      oracle 批量更新之将一个表的数据批量更新至另一个表 CreationTime--2018年7月3日17点38分 Author:Marydon Oracle 将一个表的指定字段的值更新至另一个 ...

  6. Excel批量导入商品,遇到导入失败记录到另一个Excel中供下载查看

    /// <summary> /// EXCEL批量导入 /// </summary> /// <param name="filePath">文件 ...

  7. 订餐系统之Excel批量导入

    批量导入现在基本已经成为各类系统的标配了,当前,我们订餐系统也不例外,什么商家呀.商品呀.优惠码之类的,都少不了.毕竟嘛,对非开发人员来说,看到Excel肯定比看到很多管理系统还是要亲切很多的.这里, ...

  8. 【转载】Mysql创建表时报错error150

    从mysql数据库中导出正常数据库的脚本语句,而后使用脚本语句创建数据库的过程中,执行语句提示Can't Create Table 'XXX' erro150的错误,语句执行中断,创建table失败, ...

  9. mysql 创建表时注意事项

    mysql  创建表时注意事项 mysql 想必大家都不会陌生吧  是我学习中第一个接触的的数据库 已学习就很快上手的   这是一个关系型数据库  不懂什么是关系型数据库 啊哈哈哈  现在知道啦  因 ...

随机推荐

  1. ESA2GJK1DH1K基础篇: 阿里云物联网平台: 云平台显示单片机采集的温湿度数据,控制设备继电器(基于GPRS模块,AT指令TCP_MQTT通信)

    实现的功能 上一节是使用的Wi-Fi模块连接的阿里云平台,这节呢咱用GPRS连接. 阿里云的设备配置还是按照上一节的,有个温度,有个湿度. 测试 一,打开单片机程序 二,根据自己的修改,然后下载进去单 ...

  2. Linux/Unix 多线程通信

    线程间无需特别的手段进行通信,因为线程间可以共享数据结构,也就是一个全局变量可以被两个线程同时使用. 不过要注意的是线程间需要做好同步,一般用 mutex. 可以参考一些比较新的 UNIX/Linux ...

  3. 动态的src路径怎么写

    错误写法 <div class="icon--wrapper" @click="before"> <img class="icon- ...

  4. Hibernate通过createSQLQuery( )方法实现增删改查

    一.项目结构 二.hibernate核心配置文件:   hibernate.cfg.xm <?xml version="1.0" encoding="UTF-8&q ...

  5. Elasticsearch详解-续

    Elasticsearch详解-续 Chandler_珏瑜  关注  7.6 2019.05.22 10:46* 字数 8366 阅读 675评论 4喜欢 25 5.3 性能调优  Elasticse ...

  6. 一道经典的Java面试题:equals ,== 和hashcode()的区别

    一句话区别:==比较的是内存地址,equals比较的是值内容 结论: 从以下三点展开: 基本数据类型.字符串.对象 对于基本数据类型:只有==,没有equals. 对于字符串:==比较的是内存地址,e ...

  7. 【操作系统之四】Linux常用命令之awk

    一.概念awk是一个报告生成器,拥有强大的文本格式化能力. 数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出: 依次对每一行进行处理,然后输出: 它在命令行中使用,但更多是作为脚本 ...

  8. 机器学习实战-logistic回归分类

    基于LR的回归分类实例 概念 前提理解: 机器学习的三个步骤:模型,损失函数(即样本误差),优化求解(通过损失函数,使得模型的样本误差最小或小于阈值,求出满足条件的参数,优化求解包括:最小二乘法,梯度 ...

  9. idea导入工程

    idea导入svn中的工程,一般是多模块的工程. 1 在idea中导入一个工程的目录,可以建立对应的文件夹 dy-task ,svn选择对应的分支导入 2 在dy-task同目录下建立其他目录 dy- ...

  10. pyenv和pipenv简单使用

    一.安装pyenv 安装pyenv $ git clone git://github.com/yyuu/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT=&qu ...