Python嵌套for循环创建excel表

2024-09-27 00:21:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python创建excel表格。我试图使用嵌套的for循环来填充电子表格中的一些单元格,但效果不佳。我希望它对给定行列表中的每一行都输入一个偶数。所以基本上应该是这样的: 2 4 6 8 等(每个单元格一个值)

但结果却是: 24 24 24 24

所有单元格的值都相同。在

除了明显的格式问题(我还没有完成格式化部分),它为每个单元格打印嵌套循环中的最后一个数字。从我的测试来看,它似乎完全执行了每个单元的内部循环。如果有帮助的话,我会用XlsWriter。我不知道怎样才能让它停止,我想这是很明显的,但是我已经好几年没有做过任何实际的“编程”,所以我无法找到解决方案。以下是所讨论的循环:

for items in purple_rows:
     riser_cable.write(items,0,'Company Name',format8)
     riser_cable.write(items,1,None,format8)
     riser_cable.write(items,2,None,format8)
     riser_cable.write(items,3,'Riser',format8)
     for i in range(2,26,2):
         riser_cable.write(items,4,i,format8)
         print(i)

最后3行是引起问题的行。 谢谢你的帮助!在

编辑:工作表应该看起来像这样http://imgur.com/odSaT2D,但是代码现在将整个“Port”列变成24。在


Tags: innone列表for格式itemsexcel表格
3条回答

我解决了这个问题。最后我改变了代码,加入了一个计数,所以它是:

count=0    
for items in purple_rows:
         count+=2
         riser_cable.write(items,4,count,format8)
         riser_cable.write(items,10,count,format8)
         if count==24:
             count=0

谢谢大家! 解决了这个问题

你的台词:

for i in range(2,26,2):
         riser_cable.write(items,4,i,format8)

将所有数字写入同一单元格。因此,您只看到最后一个数字24。这是因为item变量没有增加。试试看

^{pr2}$

这将增加item,并在每一行中放置不同的值。在

python中的循环约定是独占的,因此它从2循环到26循环,不包括26

否则,你的循环没问题

riser_cable.write(items,4,i,format8)

看来你只是用2,4,…,24更新第4栏。您还必须增加列索引

试试这个

^{pr2}$

相关问题 更多 >

    热门问题