【问题标题】:Writing to a CSV file in Python using a 'for' loop使用“for”循环在 Python 中写入 CSV 文件
【发布时间】:2018-03-14 20:06:14
【问题描述】:

我目前正在尝试在 python 中写入 CSV 文件,但是我只想每 60 次迭代打印一次“CurrentInv”。例如

outfile = open("Pension.csv", 'w')
for k in range(1,Iterations+1):
    outfile.write(str( str(k) + ','))
    outfile.write(str(CurrentInv[k][0])+',')
    outfile.write(str(CurrentInv[k][60])+',')
    outfile.write(str(CurrentInv[k][120])+',')
    outfile.write(str(CurrentInv[k][180])+',')
    outfile.write(str(CurrentInv[k][240])+',')
    outfile.write(str(CurrentInv[k][300])+',')
    outfile.write(str(CurrentInv[k][360])+',')
    outfile.write(str('\n'))
outfile.close()

但我想循环获得它。我试过了

 outfile = open("Pension5.csv", 'w')
 for k in range(1,Iterations+1):
     outfile.write(str( str(k) + ','))
     for i in range(0,Months+1):
        outfile.write(str(CurrentInv[k][i])+',')
        i=i+60
     outfile.write(str('\n'))
 outfile.close()`

但是,这仍然会打印 CurrentInv 从 0 到 Months 的所有值,而不是每 60 次迭代。任何帮助将不胜感激!

【问题讨论】:

  • 这确实是重复的。使用range(0,Months+1,60)
  • 我认为他要修改的范围是另一个@kabanus
  • @Adirio 什么?我看没问题:P
  • @kabanus * 对评论中的新钢笔图标看起来很可疑 * - 猜我错了:P

标签: python loops csv


【解决方案1】:

尝试以下方法:

with open("Pension5.csv", 'w') as outfile:
    for k in range(1, Iterations+1):
        outfile.write(str(str(k) + ','))
        for i in range(0, Months+1, 60):
            outfile.write(str(CurrentInv[k][i]) + ',')
        outfile.write(str('\n'))

它为范围指定步长为 60,以便每次迭代它增加 60 而不是 1。在示例情况下,月份应该是 360。如果您希望 Months 为 6 而不是 360,请检查以下内容:

with open("Pension5.csv", 'w') as outfile:
    for k in range(1, Iterations+1):
        outfile.write(str(str(k) + ','))
        for i in range(0, Months+1):
            outfile.write(str(CurrentInv[k][i*60]) + ',')
        outfile.write(str('\n'))

【讨论】:

    猜你喜欢
    • 2018-01-12
    • 2019-01-25
    • 2015-08-12
    • 2018-01-19
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 2013-08-28
    • 2017-11-30
    相关资源
    最近更新 更多