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

Python多文件夹写入数据报错:writerow需可迭代对象而非整数

修复CSV写入时的"iterable expected, not int"错误

问题根源

csv.writer.writerow()方法必须接收可迭代对象(比如列表、元组),但你传入的是单个整数A=3,所以触发了这个错误。

修复方法

把整数A包装成可迭代对象就行,比如用列表或者元组包裹:

修改后的完整代码

import os
# 把模块导入移到函数外,避免重复导入浪费资源
from scipy.stats import truncnorm
import numpy as np
import csv 

Runs=5

def function(run):
    parent_folder = str(run + 1)
    # 先判断文件夹是否存在,避免重复运行时创建失败
    if not os.path.exists(parent_folder):
        os.mkdir(parent_folder)

    A=3

    with open(os.path.join(parent_folder, "A.txt"), 'w+') as f: 
        writer = csv.writer(f)
        # 用列表包裹单个值
        writer.writerow([A])
        # 也可以用元组:writer.writerow((A,))

for x in range(Runs):
    function(x)

额外优化点

  • 模块导入放在函数外部:每次调用function都重复导入模块会降低运行效率,统一移到顶部更规范。
  • 添加文件夹存在判断:如果重复运行代码,原代码会因文件夹已存在抛出FileExistsError,加判断后能避免这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:40:38