需要安装xlrd库:
pip install xlrd
源代码如下:
#!/usr/bin/python
import sys
import xlrd
import MySQLdb
try:
#打开数据库连接
db = MySQLdb.connect(host="localhost", user="test", passwd="123456", db="test", charset='utf8')
#db = MySQLdb.connect(IP, USERNAME, PASSWORD, DATABASENAME, charset='utf8')
#使用cursor()方法获取操作游标
cursor = db.cursor()
#使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
#使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print ("Database version : %s " %data)
except:
print ("数据库打开异常,python退出")
sys.exit()
workbook = xlrd.open_workbook('./example.xls')
sheet_names= workbook.sheet_names()
i=1
j=0
sumsucc=0
sumfail=0
for sheet_name in sheet_names:
sheet2 = workbook.sheet_by_name(sheet_name)
print (sheet_name)
print (sheet2.nrows)
print (sheet2.ncols)
if sheet2.ncols > 21:
print('excel格式错误, 总列数:[%s]大于[21]列' % (sheet2.ncols))
sys.exit()
while i< sheet2.nrows:
strsql = 'insert into t_test (xm,jjhtbh,htwbbh,sfz,dkffr,dkdqr,dkyqr,yqts,bjyqrq,lxyqrq,htje,dkye,bnlx,yqlx,zzcsr,cscs,csts,dkqx ,bz,zjyccsrq,qercrq) values '
strvalue = '('
j=0
while j< sheet2.ncols:
strvalue = strvalue + '\'' + str(sheet2.row(i)[j].value) + '\''
if j<sheet2.ncols-1:
strvalue += ','
j+=1
strvalue += ')'
strsql += strvalue
sql = strsql
try:
cursor.execute(sql)
sumsucc+=1
except Exception as e:
db.rollback()
sumfail+=1
print ('第%s行 insert failed! Error : %s' % (i, e))
i+=1
db.commit()
print ('入库成功:[%s]条, 失败:[%s]条' % (sumsucc, sumfail))
#关闭数据库连接
db.close()