zoukankan      html  css  js  c++  java
  • Excel 批量导入Mysql(创建表-追加数据)

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

     1 #!/usr/bin/env python
     2 # coding: utf-8
     3 # author: chenjie131@ke.com
     4 
     5 '''
     6 应用场景:
     7     将excel等存储的数据导入到 Mysql, 适用于追加表, 或者追加数据.
     8 
     9     1. 数据库表已存在, 可在需表后面添加数据.
    10     2. 数据库表不存在, 导入时直接创建表在数据库中.
    11     3. 特点:
    12         3.1 这里用pandas.to_sql()方法, 以块的方式导入效率高, 10000行100列的表,2.5s 导完.
    13         3.2 替代品,sql方式可参考load data local ....
    14         3.3 缺点是如果表存在, 且设置主键约束, 就不适用
    15 
    16 
    17 '''
    18 
    19 import pandas as pd
    20 from sqlalchemy import create_engine
    21 
    22 
    23 文件路径 = "C:\Userseike\Desktop\8月带看明细8.15.xls"
    24 
    25 # 1. 读取excel, sheet_name: 默认读取Sheet1,按需指定
    26 table = pd.read_excel(文件路径, sheet_name="明细")
    27 
    28 
    29 # 2. 连接MySql数据库, //后的参数为: 用户名, 密码, 主机, 数据库名
    30 engine = create_engine("mysql+pymysql://zmj:123456@192.168.6.81:3306/new_house")
    31 
    32 # 3. 连接测试
    33 try:
    34     pd.read_sql("show tables;", con=engine); print("connect successfully!")
    35 except Exception as error:
    36     print("connect fail! because of :", error)
    37 
    38 # 4. to_sql()方法插入数据, 更多细节自行查文档
    39 
    40     # 参数1: 表的名字,建议不要用中文
    41     # con: 之前创建的连接对象
    42     # if_exists:
    43                 # "replace": 如果传入的表名在库里存在, 则会删掉该表, 重新创建
    44                 # "append":  如果传入的表名在库里存在, 则会追加数据, 注意字段顺序一致, 注意当有主键约束则易报错
    45 try:
    46     table.to_sql("测试表", con=engine, index=False, if_exists="replace");
    47 
    48     print("insert successfully!")
    49 except Exception as error: print("insert fail! because of:", error)
    50 
    51 
    52 print("##"*20)
    53 print("done!")
  • 相关阅读:
    安卓开发中Theme.AppCompat.Light的解决方法
    一个监听事件监听多个按钮
    onCreate中的savedInstanceState有何具体作用
    [转]Bundle对象的使用
    【转】Android详细的对话框AlertDialog.Builder使用方法
    实现按两次返回键退出应用(利用安卓按后退键引发的函数)
    [转]解决eclipse连接不到genymotion的问题
    随笔记录九 进程和计划任务任务管理
    linux引导过程和服务控制
    上机作业三 账号管理
  • 原文地址:https://www.cnblogs.com/chenjieyouge/p/11811784.html
Copyright © 2011-2022 走看看