工作中经常要汇总数据,每周的报告选取一些需要的列然后汇总成月报,每周的报告列的项目都是一样的,下面的数值不一样,目标就是用Python实现将多个excel的内容汇总到一个新的excel表格中。
在网上参考了好多例子都没有成功,最后找到了这个:https://blog.csdn.net/qq_45731111/article/details/102472406 亲测有效,感谢原博。
用我小白的编程水平完成了第一步。。。将一个excel的某些列导入到新的excel中。贴上代码:
import xlrd
import xlwt
datas=xlrd.open_workbook('D:\\1. Yield management\\1.FT yield summary\\XXXXXX Weekly report\\FT yield summary\\1750_202027FT_WEEKLY_SUMMARY.xlsx') #打开需要做处理的文件
table=datas.sheet_by_name('1750_202027FT_WEEKLY_SUMMARY') #通过名称获取工作表
sheet_name=datas.sheet_names() #获取所有的表名
nrows=table.nrows #获取工作表中所有行数
ncols=table.ncols #获取工作表中所有列数
wb=xlwt.Workbook() #新建一个excel文件
ws=wb.add_sheet('June FT yield') #新增一个表格,并且取名June FT yield
for rownum in range(6,nrows): #相当于for rownum=6;rownum++;rownum<nrows,从6开始是因为summary里面第6行开始才是需要的数值
row=table.row_values(rownum) #从第6行开始到nrows最大值,获取每行的数值,整合成数组的形式
Date=str(row[0])
MoNumber=str(row[1])
PKG=str(row[2])
Device=str(row[3])
CustomerOrder=str(row[4])
WaferLot=str(row[5])
ProgramName=str(row[6])
Input=str(row[7])
Output=str(row[8])
Yield=str(row[9])
ws.write(rownum,0,label=Date)
ws.write(rownum,1,label=MoNumber)
ws.write(rownum,2,label=PKG)
ws.write(rownum,3,label=Device)
ws.write(rownum,4,label=CustomerOrder)
ws.write(rownum,5,label=WaferLot)
ws.write(rownum,6,label=ProgramName)
ws.write(rownum,7,label=Input)
ws.write(rownum,8,label=Output)
ws.write(rownum,9,label=Yield)
wb.save('example.xls')