Python抓取Excel表数据至MySQL表

本文介绍如何使用Python的xlrd和MySQLdb模块读取Excel文件中的数据,并将其插入到MySQL数据库中。具体包括数据读取、数据库连接、数据查询、数据插入等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#encoding=utf-8
import xlrd
import MySQLdb

data=xlrd.open_workbook('test.xlsx')
table=data.sheets()[0]

nrows=table.nrows
ncols=table.ncols

tabledict={}

for i in range(nrows):
   tabledict[i]=table.row_values(i)
   
print tabledict[2]
print tuple(tabledict[2])


#读取数据
try:
   conn=MySQLdb.connect(host='localhost',user='root',passwd='1234',db='test',port=3306,charset='utf8')
   cur=conn.cursor()
   cur.execute('select Name, sex from classmate')
   result_set=cur.fetchall()
   for row in result_set:
      print row
   print "Number of rows returned: %d"%cur.rowcount
   cur.close()
   conn.close()
except MySQLdb.Error,e:
   print "MySQL Error %d:%s"%(e.args[0],e.args[1])
   
#插入数据
try:
   conn=MySQLdb.connect(host='localhost',user='root',passwd='1234',db='test',port=3306,charset='utf8')
   cur=conn.cursor()
   sql1="DROP table IF EXISTS ExcelTable;"
   cur.execute(sql1)
   print "Drop success!"
   sql2="create table IF NOT EXISTS ExcelTable(col1 varchar(20) primary key, col2 varchar(256),col3 int(10))"
   cur.execute(sql2)
   print "Sucess to create a new table!"
   
   #列表转元组,tabledict[i]
   
   #通过添加数据到列表中,然后再转为元组,因为元组是不可改的。
   sql3="insert into ExcelTable (col1,col2,col3) values(%s,%s,%s)"
   param01=[]
   for i in range(nrows):
      param01.append(tuple(tabledict[i]))
   param02=tuple(param01)
   print param02
   
   #多行数据
   try:
      cur.executemany(sql3,param02)
      conn.commit()
      print "success insert many records!"
   except Exception,e:
      conn.rollback()
      print e
   
   cur.close()
   conn.close()
except MySQLdb.Error,e:
   print "MySQL Error %d:%s"%(e.args[0],e.args[1])
 

具体的说明和细节,请看源码中的注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值