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

Posted 大长胡子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python将excel数据导入数据库相关的知识,希望对你有一定的参考价值。

  • 因为需要对数据处理,将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数据导入数据库的主要内容,如果未能解决你的问题,请参考以下文章

将数据从excel导入Python时排除第一行

Python:从列表中删除逗号,以便我可以使用 pandas 将数据导入 Excel 中的单独单元格

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

使用python,将excel数据批量导入数据库

如何用java导入Excel数据到数据库?

使用 pandas read_excel() 将 .xls 文件格式导入 python 时出现 CompDocError