You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将0到50期对应的k值写入CSV文件

问题核心原因

你原来的代码存在两个核心错误:

  • 计算k值的循环里只打印了结果,没有把每期的i和k对应关系存储下来,写CSV的时候只能拿到最后一期的i和k值
  • 写入CSV的for a, b in range(i,k)逻辑完全错误:range只接受整数参数,也无法直接迭代出两组对应数值

修正后可直接运行的代码

import csv

delta, s, theta = 0.08, 0.3, 0.35
# 初始化存储每期对应数据的列表,先存入0期初始值
data = []
k = 2.5
data.append((0, k))

# 计算1-50期k值,逐组存入列表
for i in range(1, 51):
    k = (1 - delta) * k + s * k ** theta
    print(f"{i:3d}: {k}")
    data.append((i, k))

# 写入CSV文件
with open('capital.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:
    fieldnames = ['col1', 'col2']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    for a, b in data:
        writer.writerow({'col1': a, 'col2': b})

补充说明

  • 加encoding='utf-8-sig'参数是为了适配Excel,打开CSV时不会出现中文乱码
  • 如果你需要调整表头内容,直接修改fieldnames和writerow里的键名即可

内容的提问来源于stack exchange,提问作者pao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:24:06