import xlwings as xw
filename="文件名称" #读取文件
wb=xw.Book(filename) #打开文件
detail_sheet=xw.Sheet("sheet名字") #sheet名字
print(detail_sheet)
last_row_index=xw.Range('A2').expand('table').last_cell.row #这表格最后一列
print(last_row_index)
rg = "A2:E" + str(last_row_index) #范围
print(rg)
work_detail = xw.Range(rg).value #选中范围的值
print(work_detail)
wb.close()
#上面是需要复制的,复制到下面这里面来
filename1="文件名称" #读取文件名称
wb1=xw.Book(filename1) #打开文件
detail_sheet1=xw.Sheet("sheet名称") #sheet名称
last_row_index1=xw.Range('A2').expand('table').last_cell.row #这表格最后一列
last_row_index1=last_row_index1+1
xw.Range('A'+str(last_row_index1)).expand('table').value = work_detail
wb1.save("D:\\地址\\22.xlsx") #保存地址加文件名称
wb1.close()
搜了下python操作excel的包,看到最多的是xlrd和xlwt。我的操作其实很简单就是拷贝每一个excel中的内容并粘贴到一个汇总的excel,但这两个包好像并不符合我的要求。
偶然间看到xlwings这个python包,使用这个包基本可以实现你在excel中的操作,如选中B5 到J20 这些单元格中的数据。这正是我想要的,写了个简单的脚本实现周报的整理,在这里记录下。
使用中参考了xlwings官方文档
我主要使用了WorkBook、Sheet、Range这三个。