0
こんにちはすべてforループでwhileループを作成しようとしています。コードは私のためにSQLドロップインデックスステートメントの束を生成するので、テーブル名以外は何も入力する必要はありません。 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:インデックス名
あなたはAの任意のテキスト(文字列)値を使用できます。 ForループのPrintステートメントの機能を維持するだけです