私はいくつかのシートを含むExcelブックを持っています。各シートには と の 2 つの列がPersonID
ありLegacyID
ます。基本的に、に基づいてデータベース内のいくつかのレコードを更新しようとしていますpersonid
。これは TSQL を実行するのが比較的簡単で、powershell でかなり迅速に実行できるかもしれませんが、Python を学ぼうとしていたので、Python でこれを試してみようと思いました。モジュールを使用xlrd
したところ、更新ステートメントを出力できました。以下は私のコードです:
import xlrd
book = xlrd.open_workbook('D:\Scripts\UpdateID01.xls')
sheet = book.sheet_by_index(0)
myList = []
for i in range(sheet.nrows):
myList.append(sheet.row_values(i))
outFile = open('D:\Scripts\update.txt', 'wb')
for i in myList:
outFile.write("\nUPDATE PERSON SET LegacyID = " + "'" + str(i[1]) + "'" + " WHERE personid = " + "'" + str(i[0])
+ "'")
2 つの問題 - 出力ファイルを読み取ると、出力LegacyID
が float として表示されます。.0
各 ID の末尾にあるを取り除くにはどうすればよいですか? 2 番目の問題は、Python が各更新ステートメントを出力テキスト ファイルの新しい行に出力しないことです。フォーマットするにはどうすればよいですか?
編集:フォーマットの問題は無視してください。Notepad ++で出力ファイルを開くと、新しい行で印刷されました。フロートの問題はまだ残っています。