2016-07-26 40 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