python3使用xlrd、xlwt合并多个Excel到一个文件

import xlrd
import xlwt

#打开一个Excel
def open_xls(file):
      fh=xlrd.open_workbook(file)
      return fh

#获取excel中所有的sheet表
def getsheet(fh):
      return fh.sheets()

#获取table的行数
def getnrows(fh,sheet):
      table=fh.sheets()[sheet]
      return table.nrows

#获取table的列数
def getcols(fh,sheet):
      table=fh.sheets()[sheet]
      return table.ncols

#获取sheet的个数
def get_sheet_num(fh):
      x=0
      for sheet in getsheet(fh):
            x+=1
      return x

#读取文件内容并返回行内容
def get_file(file,sheet_num):
      fh=open_xls(file)
      table=fh.sheets()[sheet_num]
      rows=table.nrows
      for row in range(rows):
            data=table.row_values(row)
            data_value.append(data)
      return data_value

if __name__=='__main__':
      files=['excel01.xls','excel02.xls']
      data_value=[]
      for file in files:
            fh=open_xls(file)
            sheet_num=get_sheet_num(fh)
            for num in range(sheet_num):
                  print("正在读取第"+str(file)+"的第"+str(num+1)+"张sheet表")
                  dataValue=get_file(file,num)
      #新的Excel文件
      newFile='excel03.xls'
      workbook=xlwt.Workbook(newFile)
      #创建一个sheet对象
      worksheet=workbook.add_sheet("mysheet")
      for i in range(len(dataValue)):
            for j in range(len(data_value[i])):
                  worksheet.write(i,j,data_value[i][j])
      workbook.save(newFile)
      print("合并结束.........")

猜你喜欢

转载自blog.csdn.net/u014645652/article/details/80115118