码迷,mamicode.com
首页 > 数据库 > 详细

使用python将excel数据导入数据库

时间:2018-07-14 13:00:04      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:sys   count   问题   xlwt   记录   空值   修改   数据处理   ksh   

  • 因为需要对数据处理,将excel数据导入到数据库,记录一下过程。
  • 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt)
  • 直接丢代码,使用python3,注释比较清楚。
  • import xlrd
    import pymysql
    # import importlib
    # importlib.reload(sys) #出现呢reload错误使用
    
    
    def open_excel():
        try:
            book = xlrd.open_workbook("XX.xlsx")  #文件名,把文件与py文件放在同一目录下
        except:
            print("open excel file failed!")
        try:
            sheet = book.sheet_by_name("sheet名称")   #execl里面的worksheet1
            return sheet
        except:
            print("locate worksheet in excel failed!")
    
    
    #连接数据库
    try:
        db = pymysql.connect(host="127.0.0.1",user="root",
            passwd="XXX",
            db="XXX",
            charset=‘utf8‘)
    except:
        print("could not connect to mysql server")
    
    def search_count():
        cursor = db.cursor()
        select = "select count(id) from XXXX" #获取表中xxxxx记录数
        cursor.execute(select) #执行sql语句
        line_count = cursor.fetchone()
        print(line_count[0])
    
    
    def insert_deta():
        sheet = open_excel()
        cursor = db.cursor()
        for i in range(1, sheet.nrows): #第一行是标题名,对应表中的字段名所以应该从第二行开始,计算机以0开始计数,所以值是1
    
            name = sheet.cell(i,0).value #取第i行第0列
            data = sheet.cell(i,1).value#取第i行第1列,下面依次类推
            print(name)
            print(data)
            value = (name,data)
            print(value)
            sql = "INSERT INTO XXX(name,data)VALUES(%s,%s)"
            cursor.execute(sql,value) #执行sql语句
            db.commit()
        cursor.close() #关闭连接
    
    
    
    insert_deta()
    
    db.close()#关闭数据
    print ("ok ")
    

      XXX里自行修改自己的名称。

  • 说明:对于不规则的单元格,例如合并过的单元格会取到空值。
  • 有机会把数据库写到excel贴上来。
  •  
  •  
  •  
  •  其实有很多数据库工具可以直接来解决这个问题,注意字符转换的格式就好。
  • 以上。

使用python将excel数据导入数据库

标签:sys   count   问题   xlwt   记录   空值   修改   数据处理   ksh   

原文地址:https://www.cnblogs.com/longbigbeard/p/9309180.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!