码迷,mamicode.com
首页 > 其他好文 > 详细

20201128-3 【自动化办公】表格读写

时间:2020-12-03 11:41:39      阅读:5      评论:0      收藏:0      [点我收藏+]

标签:false   导入   导入模块   val   Staff   输出   div   部门   code   

Exercise 1
获取个人工资信息 # 从openpyxl库导入load_workbook函数 from openpyxl import load_workbook # 打开【10月员工绩效表】的工作簿,获取活动工作表 performance_wb = load_workbook(./material/10月员工绩效表.xlsx) performance_ws = performance_wb.active # 打开【江宇工资信息表】的工作簿,获取活动工作表 info_wb = load_workbook(./material/江宇工资信息表.xlsx) info_ws = info_wb.active # 获取【绩效】值 performance = performance_ws[D14].value # 获取【奖金】值 bonus = performance_ws[E14].value # 获取【基本工资】值 base = performance_ws[F14].value # 写入【绩效】值 info_ws[E11].value = performance # 写入【奖金】值 info_ws[F11].value = bonus # 写入【基本工资】值 info_ws[G11].value = base # 保存对【江宇工资信息表】工作簿的写入 info_wb.save(./material/江宇工资信息表.xlsx)
Exercise 2
生成前10行绩效信息表
# 从openpyxl库导入load_workbook和Workbook
from openpyxl import load_workbook, Workbook

# 打开【10月员工绩效表.xlsx】工作簿
performance_wb = load_workbook(./material/10月员工绩效表.xlsx)
# 获取活动工作表
performance_ws = performance_wb.active

# 新建工作簿
new_wb = Workbook()
# 获取活动工作表
new_ws = new_wb.active

# 获取performance_ws的前十行数据
for row in performance_ws.iter_rows(max_row=10, values_only=True):
    # 将数据写入新的工作表
    new_ws.append(row)

# 保存新工作簿为【员工绩效表-模板.xlsx】
new_wb.save(./material/员工绩效表-模板.xlsx)
注:
不填values_only=True时,默认values_only参数为False,即不是“只取单元格的值”,而是取出单元格对象。此时row元组的元素是单元格对象
使用Workbook()方法创建一个工作簿对象new_wb。
同样再用工作簿对象.active获取其活动工作表new_ws。
它的模式是按行读写,即取出所需数据范围后,按行使用数据,原样写入工作表中
Exercise 3
计算并打印奖金信息
# 从openpyxl库导入load_workbook和Workbook
from openpyxl import load_workbook, Workbook

# 打开【10月员工绩效表.xlsx】工作簿
performance_wb = load_workbook(./material/10月员工绩效表.xlsx)
# 获取活动工作表
performance_ws = performance_wb.active

# 获取performance_ws中除表头外的数据
for row in performance_ws.iter_rows(min_row=2, values_only=True):
    # 读取【工号】
    staff_id = row[0]
    # 读取【员工姓名】
    staff_name = row[1]
    # 读取【绩效】
    performance = row[3]
    # 读取【提成】
    bonus = row[4]
    # 计算“奖金”
    award = performance + bonus
    # 打印结果
    print(工号:{},姓名:{},本月奖金为:{}.format(staff_id, staff_name, award))
Exercise 4
创建薪资信息字典
# 从openpyxl库导入load_workbook函数
from openpyxl import load_workbook

# 打开【10月员工绩效表.xlsx】工作簿
performance_wb = load_workbook(./material/10月员工绩效表.xlsx)
# 获取活动工作表
performance_ws = performance_wb.active

# 创建员工信息字典
staff_info = {}

# 从第二行开始读取工作表中的信息
for row in performance_ws.iter_rows(min_row=2, values_only=True):
    # 取出工号
    member_number = row[0]
    # 将信息存入员工信息字典
    staff_info[member_number] = {
         姓名: row[1],
         部门: row[2],
         绩效: row[3],
         奖金: row[4],
         基本工资: row[5],
         是否确认: row[6]
     }
print(staff_info)
Exercise 5
取数汇总并写入
【目的】:获取【江宇工资信息表】中10月的绩效、提成、基本工资,计算出总和,写入到【江宇工资信息表】并保存。
【江宇工资信息表-相对路径】:./material/江宇工资信息表.xlsx
# 导入模块
from openpyxl import load_workbook

# 获取数据
wb  = load_workbook(./material/江宇工资信息表.xlsx)
ws = wb[Sheet1]

performance = ws[E11].value
bonus = ws[F11].value
base = ws[G11].value

# 使用数据
salary = performance + bonus + base

# 输出结果
ws[H1].value = 总工资
ws[H11].value = salary
wb.save(./material/江宇工资信息表.xlsx)

 

20201128-3 【自动化办公】表格读写

标签:false   导入   导入模块   val   Staff   输出   div   部门   code   

原文地址:https://www.cnblogs.com/azxsdcv/p/14053532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!