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条)