
print("---------------------------------------老师")
price_update_new={"莴笋":0.51,"苋菜":0.2}
# 1 取出,表格中的蔬菜名
for row in range(2,sheet.max_row+1): #取行号
name=sheet.cell(row=row,column=2).value #取出 表格中的 菜名
# print(name,type(name))
if name in price_update_new:
sheet.cell(row=row,column=3).value=price_update_new[name]
print(price_dic) # 这个看不出来的 要看表格
1 批量 更新单元格
用循环嵌套即可
price_dic={'白菜': {6.29}, '菠菜': {5.9}, '油菜': {17.56}, '卷心菜': {14.72}, '苋菜': {10.19}, '韭菜': {9.99}, '蒿菜': {17.34},
price_update={"白菜":10.05,"油菜":5.50,"莴笋":3.51,"苋菜":4.2}
"""更新 价格""""
for i in price_update: # 新价格
for j in price_dic: #老价格
price_dic[i]= {price_update[i]} 替换
print(price_dic)
2 生成表格,并更新
import openpyxl
import random
wb = openpyxl.Workbook() #新建工作簿
sheet = wb["Sheet"] #指定活动sheet
print(wb.sheetnames)
#表格内容
sheet.append(["序号", "菜名", "单价", "数量", "合计"]) # 写入行 标签
veg_str= "白菜、菠菜、油菜、卷心菜、苋菜、韭菜、蒿菜、香菜、芥菜、芥兰、茴香、蒜苗、莴笋、空心菜、豌豆尖、生菜、白花菜、青花菜、油麦菜、甘蓝、小葱、萝卜、马铃薯、藕、甘薯、山药、芋头、茭白、苤蓝、慈姑、洋葱、生姜、大蒜、蒜薹、韭菜花、大葱、韭黄、冬瓜、南瓜、西葫芦、丝瓜、黄瓜、茄子、西红柿、苦瓜、辣椒、玉米、小瓜、毛豆、豌豆、蚕豆、扁豆、豇工、四季豆、香菇、平菇、金针菇、木耳、银耳、杏鲍菇、口蘑"
veg_list = veg_str.split("、") # 规范 菜名 成列表
# print(len(list))
"""把序号和菜名 入列"""
==基本方式A==
# n=2
# for i in list :
# sheet["b"+f"{n}"] = i # 写数据 入列
# n+=1
# m=2
# for j in range(len(list)):
# sheet["a"+f"{m}"]=j+1
# m+=1
==函数方式==
def 填充数据(col,list):
n=2
for i in list :
sheet[f"{col}" + f"{n}"] = i # 写数据 入列
n += 1
def 生成随机浮点数(start,end,num):
list = []
for i in range(len(veg_list)) :
list.append(round(random.uniform(start, end), num))
return list
#调用函数
填充数据("a",range(len(veg_list))) # 序号
填充数据("b",veg_list) # 填充菜名 veg_name
填充数据("c",生成随机浮点数(5,20,2)) #单价
填充数据("d",生成随机浮点数(1,10,1)) #数量
# 价格合计 [e] 单价c*数量d=价格e
for v in range(2,len(veg_list)+2): #取了 行号 row
sheet["e"+f"{v}"]=float(sheet[("d"+f"{v}")].value)*float(sheet[("c"+f"{v}")].value)
# print(sheet[("d"+f"{v}")].value)
v += 1
print("====================================价格表生成完毕,调整开始")
""" 某种蔬菜价格变化,引起的......
"蒜苗":5.50,"莴笋":3.51,"空心菜":4.2
"""
price_update={"白菜":10.05,"油菜":5.50,"莴笋":3.51,"苋菜":4.2}
# 把表格写成 集合,然后对比 参照[人口数据]
price_dic={}
for i in range(2,len(veg_list)+2): #取了 行号 row
菜名=sheet["b"+str(i)].value
价格=sheet["c"+str(i)].value
#生成价格集合
price_dic.setdefault(菜名,{价格})
print(price_dic)
#更新 价格
for i in price_update: # 新价格
for j in price_dic: #老价格
price_dic[i]= {price_update[i]} 替换
print(price_dic)
wb.save("033 蔬菜数据.xlsx")
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)