在工作中,有时候因为部门间的数据权限问题,推送数据的时候往往是通过邮件完成,对于量大的数据,往往会拆成很多个excel发送,到下一个部门导入数据库之前,总是需要先将所有excel合成一个excel,再导入数据库。手动操作往往受限于各种因素,嫌麻烦?打开excel太慢浪费时间?需要上班之前导好表又不想每天都提前来上班?总之下面这个代码可以解救你:
# -*- coding: utf-8 -*-
#合并Excel文件
import xlrd
import xlsxwriter
#打开excel文件
def open_xls(file):
fh=xlrd.open_workbook(file)#打开文件file,并读取到fh中
return fh
#获取excel中所有的sheet表
def getsheet(fh):
return fh.sheets()#获取文件fh中所有的工作表
#获取sheet表的行数
def getnrows(fh,sheet):
table=fh.sheets()[sheet]
return table.nrows#.nrows获取table表的行数
#按行读取文件内容并依次写入datavalue
def getFilect(file,shnum):
fh=open_xls(file)#调用open_xls函数,打开excel文件
table=fh.sheets()[shnum]
num=table.nrows#num表示table表的行数
for row in range(num):
rdata=table.row_values(row)#获取table表的第row行的数据,赋给rdata
datavalue.append(rdata)#依次将rdata添加到datav