我想检查excel文件中的重复值和输入值。excel文件的内容每天都在变化,所以我不知道哪一行是最后一行
excel文件的图像是我要执行的输出。图像如下所示。在此处输入图像描述
在excel文件图像中,如果“B”单元格的值重复,则装运成本应一次性输入“3000”,否则输入“3000”
这就是我所做的代码。在这种情况下,[Q5:Q max row]的每一列都是“3000”,如果您有任何想法,请告诉我
wb = load_workbook(merged_excel_file)
ws = wb.active
last_row = ws.max_row
for o in range(5, last_row+1):
Name_file = ws.cell(row=o, column=2).value
if Name_file.count(ws.cell(row=o, column=2).value) == 1:
ws.cell(row=o, column=17).value = '3000'
else:
continue
为了避免在同一单元格上出现多个循环(这相对较慢),可以将它们的值存储在一个数组中
然后,您可以使用
enumerate()
循环数组中的每个值,这同样只需要从内存访问数组,而不是再次循环单元格:因为您处理的是一个数字,所以我将单元格改为写整数而不是字符串(下划线没有任何作用,它只是一个可视分隔符,就像您写“3000”时一样)
注意:Python将根据缩进自动结束循环,因此不需要
else: continue
语句!不过一定要注意压痕。如果某个东西在循环中,比如上面的for
循环,那么它应该比for
语句缩进一个制表符。这包括Name_file
赋值和if
语句这应该暂时有效。如果您想开始对数据表进行更高级的操作,pandas是您需要了解更多信息的黄金标准库
相关问题 更多 >
编程相关推荐