一、目的
我们在做数据处理的时候,常常会用到excel数据存储,有时也可以运用python帮助某些职能部门处理excel数据。这里就有一个用python代码批量将excel的原始数据按照给定的格式重新填入excel的案例
二、数据准备
源数据:
目标数据模板:
一人一表
三、代码
#1、打开工作簿
import xlwings as xw
app = xw.App(visible=True,add_book=False)
workbook = app.books.open('员工信息表.xlsx')
sheet = workbook.sheets[0] #选中第一个表格
#2、循环每行的数据
info = sheet.used_range
for i in info.raw_value[1:]:
print(i) #每行都以一个元组的格式输出
#3、打开个人信息模板,将数据写入
for i in info.raw_value[1:]:
workbook = app.books.open("员工信息模板.xlsx")
app = xw.App(visible=True, add_book=False)
sheet=workbook.sheets[0]
sheet['B1'].value=i[0]
sheet['D1'].value=i[1]
sheet['F1'].value=i[8]
sheet['H1'].value=i[2]
sheet['B2'].value=i[9]
sheet['D2'].value=i[5]
sheet['F2'].value=i[6]
sheet['H2'].value=i[7]
#4、设置单元格式格式
list_cell=['B1','D1','F1','H1','B2','D2','F2','H2']#单元格位置
for j in list_cell:
sheet[j].api.Font.Name='楷体' #设置字体
sheet[j].api.Font.Size=14 #设置字号
#设置文本水平对齐方式为居中
sheet[j].expand('table').api.HorizontalAlignment=xw.constants.HAlign.xlHAlignCenter
#设置文本水平对齐方式为居中
sheet[j].expand('table').api.VerticalAlignment=xw.constants.VAlign.xlVAlignCenter
#5、将表格另存重命名并关闭
workbook.save(r'd:\data_test\{}.xlsx'.format(i[0])) #以名字命名
workbook.close()
app.quit()