Python-批量处理Excel提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 停止内耗,关注自身,爱人先爱己!
- 一、批量处理Excel
- 二、代码-计算车间每日产量达标率
- 1.代码
- 解释
前言 停止内耗,关注自身,爱人先爱己!
提示:以下是本篇文章正文内容,下面案例可供参考
一、批量处理Excel示例:计算车间每日产量达标率目标,把【生产计划表.xlsx】工作簿和【工人产量日报表.xlsx】工作簿中对应的数据复制或经过计算记录到【检验记录表模板.xlsx】工作簿中,最后另存为【8月25日检验记录表.xlsx】工作簿中。
代码如下(示例):
#计算车间每日产量达标率
from openpyxl import load_workbook
#获取【工人产量日报表】工作表
production_wb = load_workbook('../工作/工人产量日报表.xlsx')
production_sheet = production_wb.active
#创建产量字典
production_dict = {}
#遍历【工人产量日报表】工作表中的数据
for row in production_sheet.iter_rows(min_row = 3, values_only = True):
#从“工号”中提取出“车间号”(workshop_num)
workshop_num = row[0][:2]
#判断字典中是否有该车间的信息
if production_dict.get(workshop_num) == None:
#以“车间号”为键。“产品编号”与“实际产量”组成的字典为值,写入字典中
production_dict[workshop_num] = {row[1]:row[4]}
else:
#判断当前车间中,是否该有产品的信息
if production_dict[workshop_num].get(row[1]) != None:
#累加“实际产量”
production_dict[workshop_num][row[1]] += row[4]
#如不存在该产品信息,则以“产品编号”为键,“实际产量”为值,写入字典中
else:
production_dict[workshop_num][row[1]] = row[4]
#分别获取【检验记录模板】、【生产计划表】工作表
template_wb = load_workbook('../工作/检验记录表模板.xlsx')
template_sheet = template_wb.active
plan_wb = load_workbook('../工作/生产计划表.xlsx')
plan_sheet = plan_wb.active
#遍历【生产计划表】工作表中的数据
for row in plan_sheet.iter_rows(min_row = 3, values_only = True):
#根据“车间号”、“产品编号”,获取产量字典中的“实际产量”
actual_production = production_dict[row[1]][row[2]]
#计算“目标达成率”
rate = actual_production / row[3]
#将“目标达成率”保留两位小数,并转成百分比格式
rate = str(round(rate*100, 2)) + "%"
#根据【检验记录模板】工作表的表头,将数据写入【检验记录表模板】工作表中
template_row = row[:4] + (actual_production, rate)
template_sheet.append(template_row)
#将【检验记录表模板.x;sx】工作簿另存为【8月25日检验记录表.xlsx】工作簿
template_wb.save('../工作/8月25日检验记录表.xlsx')
解释
此文仅为本人学习过程中的笔记,并非原创。我是菜鸟大人,一个只会写paper的小菜鸡臘♀️臘♀️臘♀️。



