• 20201128-3 表格读写


    1-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')
    1-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。
    它的模式是按行读写,即取出所需数据范围后,按行使用数据,原样写入工作表中
    1-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))
    1-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)
    1-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')
    相关链接:
    https://www.cnblogs.com/azxsdcv/p/14097765.html
    20201207-2 openpyxl 库与模块导入 - Malakh - 博客园 (cnblogs.com)

  • 相关阅读:
    Codeforces Round #201 (Div. 2)C.Alice and Bob
    1126. Magnetic Storms(单调队列)
    URAL1501. Sense of Beauty(记忆化)
    poj1026Cipher(置换群)
    怎样查看MySql数据库物理文件存放位置
    冒泡排序、选择排序、二分查找排序
    java中的数组的Arrays工具类的使用
    可变参数及其特点
    猜拳游戏项目(涉及知识点Scanner、Random、For、数组、Break、Continue等)
    java中使用nextLine(); 没有输入就自动跳过的问题?
  • 原文地址:https://www.cnblogs.com/azxsdcv/p/14053532.html
Copyright © 2020-2023  润新知