Python Excel 工作簿 表格 替换

Python Excel 工作簿 表格 替换,第1张

Python Excel 工作簿 表格 替换 0 老师教的
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")

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4830436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存