好友
阅读权限10
听众
最后登录1970-1-1
|
wuxi
发表于 2021-12-18 22:17
最近自己在学openpyxl时,遇到了一些问题,程序如下,但是结果中就删除了一半的数据,另一半数据没有被删除,我不知道为什么
求大佬教我
我的附件 https://www.lanzouq.com/it5JFxqx9kb
from openpyxl import Workbook , load_workbook
import openpyxl
wb = load_workbook('列表.xlsx',data_only=True)#载入合同
ws = wb.active
key_word = "已签约"#需要删除行里列”F“中的关键字
z = 0 #计数
for row in range(3,ws.max_row+1): # 从第3行到最后一行
if key_word in str(ws.cell(row=row,column=6).value): #寻找第”F“列中的关键字
print("第{}行,值是{}".format(row,ws.cell(row=row,column=6).value))#验证一下,等待的时候很无聊
ws.delete_rows(row) #删除所在行
z=z+1
print("已删除第{}个".format(z))#记录一共删除多少个
wb.save('3.xlsx')#另存为新文件
#以上程序结束
#由于原表格第9行没有被删除,但是第8行被删除了,拿来做对比
if ws.cell(row=8,column=6).value == ws.cell(row = 9 ,column=6):
print("TRUE")
else:
print("False")#结果第8行和第9行结果不同
#查看是否为数据类型不对,或者有空格
print(ws.cell(row=8,column=6).value)
print(type(ws.cell(row=8,column=6).value),len(ws.cell(row=8,column=6).value))
print(ws.cell(row=9,column=6).value)
print(type(ws.cell(row=9,column=6).value),len(ws.cell(row=9,column=6).value)) |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|