私はこのコードをPythonで使用しています。Pythonサイクルが動作しません(xlwt)
python
import xlwt
#== change variables according to requirements ==#
numoftopcol = 5
numoftestcases = 4
coltext = ['Test Case', 'Test Name', 'Duration', 'Factual Result', 'Result (Pass/Fail)']
testN = ['void','Get Counter Result', 'Read Stats', 'Client Initialization', 'Start Server']
#== change variables according to requirements ==#
styleH = xlwt.easyxf('font: name Arial, bold on, color-index blue;')
styleH.font.height = 400
stylee = xlwt.easyxf('font: name Arial')
wb = xlwt.Workbook()
ws = wb.add_sheet('Test Case Overview')
c = 0
numoftopcol += 1
for c in range(c,numoftopcol):
ws.write(0, c, coltext[c], styleH),
ws.col(c).width = 7000
import random
c = 1
numoftestcases += 1
for c in range(c,numoftestcases):
strC = str(c),
ws.write(c,0,'TC-'+strC,stylee),
ws.write(c,1,testN[c],stylee),
ws.write(c,2,'DUR',stylee),
ws.write(c,3,'RandomStr',stylee),
randomint = random.randint(0,1),
if randomint == 0:
ws.write(c,4,'PASS',stylee)
else:
ws.write(c,4,'FAIL',stylee)
ここで、最初のサイクルは正常に動作しています(styleHを持つサイクル)。 2つ目は動作していません(stylee)。デバッグ私は、c = 1とnumoftestcases = 5を見つけました。したがって、もし< numoftestcaseまたは1 < 5なら、サイクルは正常に動作しているはずですか?
明らかにそうではありません。 cmd(2番目のサイクル)で次のエラー出力が表示されます。
forTraceback (most recent call last): File "", line 2, in IndexError: list index out of range
Traceback (most recent call last): File "", line 3, in TypeError: cannot concatenate 'str' and 'tuple' objects
この問題は何ですか? 以前はこれがうまくいきました。私はサイクルコードを変更しなかったが、現在は動作していない。
2番目のサイクルで1行目にprint(c)を入れてみましたが、出力は1つしかありませんでした。
xlsファイルを確認すると、最初のサイクルだけがスプレッドシートに書き込まれました。
私はこのコードをテキストファイルに保存していますので、このコマンドをcmdで実行する必要があるときはいつでも思い出すことができます。
私はそれを見ることができますが、これをどのように修正できますか? numoftopcolは問題の原因ではありませんが、numoftestcasesは問題ありません。 – Unit1
'numoftopcol'が範囲外で、最初の要素をスキップしています。あなたがより良い診断をしたい場合は、スタックトレースを投稿する –