zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    java web项目打包.war格式
    version 1.4.2-04 of the jvm is not suitable for thi
    Sugarcrm Email Integration
    sharepoint 2010 masterpage中必须的Content PlaceHolder
    微信开放平台
    Plan for caching and performance in SharePoint Server 2013
    使用自定义任务审批字段创建 SharePoint 顺序工作流
    Technical diagrams for SharePoint 2013
    To get TaskID's Integer ID value from the GUID in SharePoint workflow
    how to get sharepoint lookup value
  • 原文地址:https://www.cnblogs.com/azxsdcv/p/14053532.html
Copyright © 2011-2022 走看看