使用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数据导入数据库的主要内容,如果未能解决你的问题,请参考以下文章
Python:从列表中删除逗号,以便我可以使用 pandas 将数据导入 Excel 中的单独单元格
使用 pandas read_excel() 将 .xls 文件格式导入 python 时出现 CompDocError