Python openpyxl 蔬菜价格明细表变动

该代码实现了生成蔬菜价格明细表,并根据价格变动更新表格的功能。首先,使用openpyxl库创建Excel工作簿,填充列标题和随机蔬菜价格。然后,将价格变动的数据清洗并更新到原始表格中,最后保存为'004蔬菜价格表变动.xlsx'。
摘要由CSDN通过智能技术生成

[要求]

1,生成 蔬菜价格明细表
2,把价格变动的菜价,更新到总表中

[思路]

1,利用 集合的原理, key不变, 只更新value
2,按列生成数据
3,整理数据成集合的形式 ,包括原始价格和新价格
4,遍历表格中名称和价格, 选取变更的价格 更新到新表中

coding:utf-8

材料: 原始菜名 新价格

名称 = (
“白菜、菠菜、油菜、卷心菜、苋菜、韭菜、蒿菜、香菜、芥菜、芥兰、茴香、蒜苗、莴笋、空心菜、豌豆尖、生菜、白花菜、青花菜、油麦菜、甘蓝、小葱、萝卜、马铃薯、藕、甘薯、山药、芋头、茭白、苤蓝、慈姑、洋葱、生姜、大蒜、蒜薹、韭菜花、大葱、韭黄、冬瓜、南瓜、西葫芦、丝瓜、黄瓜、茄子、西红柿、苦瓜、辣椒、玉米、小瓜、毛豆、豌豆、蚕豆、扁豆、豇工、四季豆、香菇、平菇、金针菇、木耳、银耳、杏鲍菇、口蘑”
)
菜价_up=“菠菜:100.00、油菜:100.50、苋菜:100.99、香菜:0.80”

1,调入模块

import random
from openpyxl import Workbook

2, 新建表格

wb=Workbook()
ws=wb.active

3, 填充列标题

ws.append([“序号”, “菜名”, “单价”, “数量”, “合计”]) # 用列表的形式填充

4, 填充表格 数据 以列填充

名称_list=名称.split("、") #字符串变列表
for 序号,名称 in enumerate(名称_list):
# print(序号,名称)
ws.cell(row=序号+2,column=1).value =序号+1
ws.cell(row=序号+2,column=2).value =名称
ws.cell(row=序号+2,column=3).value =round(random.uniform(3,15),2) #单价
ws.cell(row=序号+2,column=4).value =random.randint(30,50) #数量
价格=ws.cell(row=序号+2,column=3).value*ws.cell(row=序号+2,column=4).value
ws.cell(row=序号+2,column=5).value = 价格

=表格数据制作完成============

5, 清洗 把菜价更改 调整成 集合形式

菜价_up_list=菜价_up.split("、")
菜价_up_data={}
for i in 菜价_up_list:
菜价_up_data[i.split("😊[0]]=i.split("😊[1]
print(菜价_up_data)

6, 把原始的名称和价格找出 并更新

菜价_data={}
for row in range(1,len(名称_list)):
蔬菜名称=ws.cell(row=row,column=2).value
价格=ws.cell(row=row,column=3).value
菜价_data.setdefault(蔬菜名称,价格) # 形成价格 集合
if 蔬菜名称 in 菜价_up_data :
ws.cell(row=row,column=3).value=菜价_up_data[蔬菜名称]
wb.save(“004 蔬菜价格表变动.xlsx”)

代码奉上

# --*coding:utf-8*--
"""
[要求] 1,生成 蔬菜价格明细表
2,把价格变动的菜价,更新到总表中
"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值