码迷,mamicode.com
首页 > 其他好文 > 详细

跨表批量删除

时间:2020-05-22 16:51:18      阅读:46      评论:0      收藏:0      [点我收藏+]

标签:load   bre   匹配   else   一个   row   open   列表   存在   

我有一个Excel,有多个sheet,其中一个sheet 匹配配置中有一个控制是否存在的选项,同时使用localeId控制个sheet的联系

现在要删除所有符合的locaeId的数据

import openpyxl
wb=openpyxl.load_workbook(rE:\shenghe\excels\branch\Beta\1\房间配置.xlsx)
sheet_names=wb.sheetnames

# get the unableshow race id
sheet=wb[匹配配置]
row_max=sheet.max_row
col_max=sheet.max_column
id_list=[]
row_i=9 
while row_i <= row_max+1:
    if sheet.cell(row=row_i,column=11).value==0:
        id_list.append(sheet.cell(row=row_i,column=1).value)
        print(删除+str(row_i)+)
        sheet.delete_rows(row_i)
        row_max=row_max-1
        pass
    else:
        row_i=row_i+1
        pass
    pass
print(删除+str(sheet))
sheet_names.remove(匹配配置) #名称列表中删除已经处理的表格
for sheet_1 in sheet_names:
    sheet_i=wb[sheet_1]
    col_max_i=sheet_i.max_column
    row_max_i=sheet_i.max_row
    for get_name in range(1,col_max+1):

        if sheet_i.cell(row=7,column=get_name).value==localeId:
            print(get_name)
            break
        else:
            pass
        pass
    row_i=1# 行从头开始循环
    while row_i <= row_max_i+1:
        if sheet_i.cell(row=row_i,column=get_name).value in id_list:
            print(删除+str(row_i)+)
            sheet_i.delete_rows(row_i)
            row_max_i=row_max_i-1
            pass
        else:
            row_i=row_i+1
            pass
        pass
    print(处理完+str(sheet_i))
wb.save(删除.xlsx)

 

跨表批量删除

标签:load   bre   匹配   else   一个   row   open   列表   存在   

原文地址:https://www.cnblogs.com/yuvejxke/p/12938047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!