zoukankan      html  css  js  c++  java
  • 使用Python将Excel中的数据导入到MySQL

    使用Python将Excel中的数据导入到MySQL

    工具

    • Python 2.7
    • xlrd
    • MySQLdb

    安装

    • Python

    对于不同的系统安装方式不同,Windows平台有exe安装包,Ubuntu自带。使用前请使用下面的命令确保是2.7.x版本:

    python --version

    • xlrd :

    这是一个扩Python包,可以使用pip包管理工具安装:pip install xlrd

    • MySQLdb

    为MySQL 的Python驱动接口包,可以到http://sourceforge.net/projects/mysql-python/下载安装。在Ubuntu值哦你可以使用sudo apt-get install python-mysql安装

    实现数据转移

    功能很简单,直接在代码中注释了

    """
    功能:将Excel数据导入到MySQL数据库
    """
    import xlrd
    import MySQLdb
    # Open the workbook and define the worksheet
    book = xlrd.open_workbook("pytest.xls")
    sheet = book.sheet_by_name("source")
    
    #建立一个MySQL连接
    database = MySQLdb.connect (host="localhost", user = "root", passwd = "", db = "mysqlPython")
    
    # 获得游标对象, 用于逐行遍历数据库数据
    cursor = database.cursor()
    
    # 创建插入SQL语句
    query = """INSERT INTO orders (product, customer_type, rep, date, actual, expected, open_opportunities, closed_opportunities, city, state, zip, population, region) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"""
    
    # 创建一个for循环迭代读取xls文件每行数据的, 从第二行开始是要跳过标题
    for r in range(1, sheet.nrows):
          product      = sheet.cell(r,).value
          customer = sheet.cell(r,1).value
          rep          = sheet.cell(r,2).value
          date     = sheet.cell(r,3).value
          actual       = sheet.cell(r,4).value
          expected = sheet.cell(r,5).value
          open        = sheet.cell(r,6).value
          closed       = sheet.cell(r,7).value
          city     = sheet.cell(r,8).value
          state        = sheet.cell(r,9).value
          zip         = sheet.cell(r,10).value
          pop          = sheet.cell(r,11).value
          region   = sheet.cell(r,12).value
    
          values = (product, customer, rep, date, actual, expected, open, closed, city, state, zip, pop, region)
    
          # 执行sql语句
          cursor.execute(query, values)
    
    # 关闭游标
    cursor.close()
    
    # 提交
    database.commit()
    
    # 关闭数据库连接
    database.close()
    
    # 打印结果
    print ""
    print "Done! "
    print ""
    columns = str(sheet.ncols)
    rows = str(sheet.nrows)
    print "我刚导入了 " %2B columns %2B " 列 and " %2B rows %2B " 行数据到MySQL!"
    
    
  • 相关阅读:
    宽带手记
    adb的logcat使用
    项目经理
    小A老空调需求管理小记
    作为一个项目经理你关注的是什么
    技术采撷
    项目的落地目标
    和我一起使用postcss+gulp进行vw单位的移动端的适配
    高级程序设计第十三章,简单的事件捕获事件冒泡整理
    javascript高级程序设计第二章知识点提炼
  • 原文地址:https://www.cnblogs.com/taceywong/p/5428356.html
Copyright © 2011-2022 走看看