2016-07-26 38 views
1

我目前使用xlwings在Microsoft Excel中顯示圖形及其對應的值。我有5個圖形和他們的座標(在一個數組中),我已經成功地通過循環打印。不幸的是,他們出現在列必須被硬編碼,如果我是添加更多曲線會受到影響,所以我改變了我的代碼:Python通過循環遞增數組索引

for i in range(1, 6): 
    Columns = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S"] 

    Range(Columns[0] + str(1)).value = list(zip(Xvalues)) 
    Range(Columns[1] + str(1)).value = list(zip(Yvalues)) 

目前,它會第一時間情節和打印X - 垂直座標A列(「A1」),然後座標垂直座標B列(「B1」),然後繼續。

我的問題是如何增加循環內Columns []的索引,以便我的下一個值是Columns [3]和Columns [4]?

+0

我不明白你在問什麼。一個例子可能會有所幫助。 –

+1

你不需要重新定義循環內的Columns變量 –

+0

@DanielCentore對不起,我爲了清晰起見省略了很多代碼,但問題已修復,謝謝。 – RayBae

回答

0

您可以使用其他變量來跟蹤列索引。在這種情況下j

Columns = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S"] 
j = 1 
for j,i in enumerate(range(1, 5)):  
    Range(Columns[j] + str(1)).value = list(zip(Xvalues)) 
    Range(Columns[j+1] + str(1)).value = list(zip(Yvalues)) 
    j += 1 

你也應該不會宣佈在循環中列的列表。

+0

謝謝!它工作完美,我只需要改變我想要的間距j = j * 3。 – RayBae

+0

乾杯,隊友。快樂的編碼給你。 – bernie