需求:将一个Excel中的内容拆分到多个Excel中
以工资单为例:
实现效果:
完整代码:
import xlrd
import xlwt
from pathlibimport Path,PurePath
#工资单Excel位置
salary_file= r'D:\123\工资单.xls'
#拆分后文件保存路径
dst_path= r'D:\123'
data= xlrd.open_workbook(salary_file)
table= data.sheets()[0]
#取表头
salary_header= table.row_values(rowx=0,start_colx=0,end_colx=None)
#定义写入文件函数
def write_to_file(filename,cnt):
#filename 写入文件名称
#cnt 写入内容
workbook= xlwt.Workbook(encoding='utf-8')
xlsheet= workbook.add_sheet('本月工资')
row= 0
for linein cnt:
col= 0
for cellin line:
xlsheet.write(row,col,cell)
col+= 1
row+= 1
workbook.save(PurePath(salary_file).with_name(filename).with_suffix('.xls'))
#取得员工数量
employee_number= table.nrows
#取得每行内容,并用第二行单元格作为新的文件名
for linein range(1,employee_number):
content=table.row_values(rowx=line,start_colx=0,end_colx=None)
#新建一个文件列表
new_content= []
#增加表头到要写入的内容中
new_content.append(salary_header)
#增加员工工资到内容中
new_content.append(content)
#调用函数写入文件
write_to_file(filename=content[1],cnt=new_content)