0
你好,我正试图在for循环中创建一个while循环。该代码将为我生成一堆SQL Drop索引语句,因此我不必输入除表名之外的任何内容。 excel文件将包含完成Drop Index语句所需的所有信息。这将节省我几个小时的打字时间。While循环嵌套for循环
预期输出: 运行在一个循环,会问我一个新的表名,然后运行该代码,并问了我和另一个表名或完成工作的代码。
这实际上与
from openpyxl import load_workbook
wb = load_workbook(filename='UnusedIndexes.xlsx')
ws = wb['Indexes1']
ws.cell(row=2, column=2)
ws.cell(row=2, column=2).value
tablename = input("What Table Do you Want: ")
for i in range(1,200,1):
if ws.cell(row=i, column=1).value == tablename:
print("IF EXISTS (SELECT * FROM sys.indexes WHERE NAME = N'[", ws.cell(row = i, column = 2).value, "]')\nDROP INDEX [" + ws.cell(row = i, column = 2).value + "] ON "
+ "[dbo].[" + tablename + "]\nGO\n")
在这里工作是我试图让while循环上班工作的代码。
from openpyxl import load_workbook
wb = load_workbook(filename='UnusedIndexes.xlsx')
ws = wb['Indexes1']
ws.cell(row=2, column=2)
ws.cell(row=2, column=2).value
tablename = input("What Table Do you Want: ")
finished = 'n'
while finished == 'n':
for i in range(1,200,1):
if ws.cell(row=i, column=1).value == tablename:
print("IF EXISTS (SELECT * FROM sys.indexes WHERE NAME = N'[", ws.cell(row = i, column = 2).value, "]')\nDROP INDEX [" + ws.cell(row = i, column = 2).value + "] ON "
+ "[dbo].[" + tablename + "]\nGO\n")
else:
finished = input("Would you like to enter a new tablename(y/n): ")
if finished == 'y':
break
Excel文件格式
- 的Excel文件名:UnusedIndexes.xlsx
- SHEETNAME:Indexes1
- A柱:表名
- B列:IndexName
您可以使用A和be中的任何文本(字符串)值。只需要在For循环中保留Print语句的功能