使用Python将多个excel的多个sheet页合并到一个excel


使用Python将多个excel的多个sheet页合并到一个excel

##读取Excel文件
import xlrd
##将文本写入excel文件
import xlsxwriter

##读取excel文件
def getexcel(excel):
f=xlrd.open_workbook(excel)
return f

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

##获取excel的sheet表个数
def getsheetnum(excel):
n=0
sheets=getsheet(excel)
for i in sheets:
n+=1
return n

##获取excel每个sheet表的行数
def getsheetrows(excel,sheetpage):
table=getsheet(excel)[sheetpage]
return table.nrows

##读取excel文件并返回行内容
def getexcelfile(excel,sheetpage):
table=getsheet(excel)[sheetpage]
rows=table.nrows
datavalue=[]
for row in range(rows):
##返回该行中所有单元格数据组成的列表
data=table.row_values(row)
datavalue.append(data)
return datavalue

if name == ‘main’:
excel=[‘C:\Users\17534\Desktop\excelone.xlsx’,‘C:\Users\17534\Desktop\exceltwo.xlsx’,]
datavalue=[]
##循环取得第n个excel
for n in range(len(excel)):
sheetnum = getsheetnum(excel[n])
##循环返回第n个excel的第i个sheet页
for i in range(sheetnum):
data=getexcelfile(excel[n],i)
print('正在读取第 ’ + str(n) + ’ 个excel的第 ’ + str(i) + ’ sheet页的内容 ')
##将第n个excel的第i个sheet页的第j行单元格数据追加到列表中
for j in range(len(data)):
datavalue.append(data[j])

##定义合并后的目标文件
endexcel=‘C:\Users\17534\Desktop\excelmerge.xlsx’
wb=xlsxwriter.Workbook(endexcel)
ws=wb.add_worksheet()
for i in range(len(datavalue)):
for j in range(len(datavalue[i])):
k=datavalue[i][j]
ws.write(i,j,k)
wb.close()

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值