欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

Python openpyxl 蔬菜价格明细表变动

发布时间:2023/12/15 python 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Python openpyxl 蔬菜价格明细表变动 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

[要求]

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,把价格变动的菜价,更新到总表中 """ # 材料 名称 = ("白菜、菠菜、油菜、卷心菜、苋菜、韭菜、蒿菜、香菜、芥菜、芥兰、茴香、蒜苗、莴笋、空心菜、豌豆尖、生菜、白花菜、青花菜、油麦菜、甘蓝、小葱、萝卜、马铃薯、藕、甘薯、山药、芋头、茭白、苤蓝、慈姑、洋葱、生姜、大蒜、蒜薹、韭菜花、大葱、韭黄、冬瓜、南瓜、西葫芦、丝瓜、黄瓜、茄子、西红柿、苦瓜、辣椒、玉米、小瓜、毛豆、豌豆、蚕豆、扁豆、豇工、四季豆、香菇、平菇、金针菇、木耳、银耳、杏鲍菇、口蘑" ) 菜价_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 =序号+1ws.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).valuews.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")

总结

以上是生活随笔为你收集整理的Python openpyxl 蔬菜价格明细表变动的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。