用python实现在表中当金额大于零时某一id首次出现的次数标记为1否则为0

img

在不改变数据顺序的情况下,输出值(<0)和其对应同一id的前一条输入值需要的结果相同

用字典记录下【ID和输入输出列的大小(1/0)标记】作为键名称,然后遍历时判断字典存在记录设置为0
不过负数没看出来题主怎么搞法?比如105191这个id。

img

如果是id一样,值大于0或者小于0的第一条记录标记为1,其他标记为0用下面的

img

from openpyxl import load_workbook
wb = load_workbook('test.xlsx')
sheet1=wb["Sheet1"]
kv={}
for i in  range(2,sheet1.max_row+1):
    id=sheet1.cell(i,1).value
    value=sheet1.cell(i,2).value
    suffix="1"
    if value<0:
        suffix="0"
    key=str(id)+"-"+suffix
    if key in kv:
        sheet1.cell(i,3).value=0
    else:
        sheet1.cell(i,3).value=1
        kv[key]=1

wb.save("test.xlsx")

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632