执行的时候老是有 以下报错,有没大拿能帮忙看下?
Traceback (most recent call last):
File "E:/个人软件/pychrm/PycharmProjects/LTE网管脚本/sgz_xlwings.py", line 40, in <module>
if ULogicalCell('K'+str(i2)).value == UUtranCellFDD.range('B'+str(ii2)).value:
TypeError: 'Sheet' object is not callable
import xlwings as xw
from openpyxl.utils import get_column_letter
app = xw.App(visible=True, add_book=False)
app.display_alerts = False # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = True # 更新显示工作表的内容。默认为 True。关闭它也可以提升
删除小区文件 = app.books.open(r'E:\ \11网管导出文件\W导出文件\ICM\服务小区\\删除小区模版.xlsx') # 打开现有的工作簿
删除小区文件sheet = 删除小区文件.sheets['sheet1']
删除max_row = 删除小区文件sheet.used_range.last_cell.row # 获取最大行数
UMTS文件 = app.books.open(r'E:\\11网管导出文件\W导出文件\ICM\服务小区\删除小区\已做好的脚本\版本1_删除小区脚本.xlsx') # 打开现有的工作簿
UUtranCellFDD = UMTS文件.sheets['UUtranCellFDD']
uuc_nrows = UUtranCellFDD.used_range.last_cell.row # 获取最大行数
uuc_ncol = UUtranCellFDD.used_range.last_cell.column # 获取最大列
UUtranCellFDD_MAX索引 = get_column_letter(uuc_ncol + 1)
ULogicalCell = UMTS文件.sheets['ULogicalCell']
ulc_nrows = ULogicalCell.used_range.last_cell.row # 获取最大行数
ulc_ncol = ULogicalCell.used_range.last_cell.column # 获取最大列
ulc_MAX索引 = get_column_letter(ulc_ncol + 1)
for i in range(6, uuc_nrows):
for ii in range(2,删除max_row):
if UUtranCellFDD.range('F'+str(i)).value == 删除小区文件sheet.range('B'+str(ii)).value:
if UUtranCellFDD.range('E'+str(i)).value == 删除小区文件sheet.range('A'+str(ii)).value:
print(i,uuc_ncol+1)
UUtranCellFDD.range(i,uuc_ncol+1).value = 0
UUtranCellFDD.range('A6:'+UUtranCellFDD_MAX索引+str(uuc_nrows),(uuc_nrows,uuc_ncol)).api.Sort(Key1=UUtranCellFDD.range(UUtranCellFDD_MAX索引+'6').api, Order1=1,Orientation=1)
for i3 in range(6, uuc_nrows):
if UUtranCellFDD.range(i3,uuc_ncol+1).value != 0:
break
UUtranCellFDD[str(i3)+':'+str(uuc_nrows)].delete()# 删除行
UUtranCellFDD[str(UUtranCellFDD_MAX索引)+':'+str(UUtranCellFDD_MAX索引)].delete()
uuc_nrows1 = UUtranCellFDD.used_range.last_cell.row # 获取最大行数
for i2 in range(6, ulc_nrows):
for ii2 in range(6,uuc_nrows1):
if ULogicalCell('K'+str(i2)).value == UUtranCellFDD.range('B'+str(ii2)).value:
ULogicalCell.range(i2,ulc_ncol+1).value = 0
ULogicalCell.range('A6:'+ulc_MAX索引+str(ulc_nrows),(ulc_nrows,ulc_ncol)).api.Sort(Key1=ULogicalCell.range(ulc_MAX索引+'6').api, Order1=1,Orientation=1)
# sheet.range('A1').api.EntireRow.Delete()#删除某个单元格所在的整行数据(以单元格'A1'为例)
for i4 in range(6, uuc_nrows):
if ULogicalCell.range(i4,ulc_ncol+1).value != 0:
break
ULogicalCell[str(i4)+':'+str(ulc_nrows)].delete()# 删除行
ULogicalCell[str(ulc_MAX索引)+':'+str(ulc_MAX索引)].delete()
UMTS文件.save()
UMTS文件.close()
删除小区文件.close()