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

循环处理任务时如何将DataFrame按每个task唯一ID导出为对应命名csv文件

Python按task分批次导出csv问题修复

错误原因

你当前的df.to_csv语句放在了for循环外部,只会在所有task遍历完成后执行1次:

  • 如果循环变量t在循环结束后超出了cv_tasks的索引范围,会直接触发索引越界报错
  • 就算没有报错,也只会生成最后一个task对应的csv文件,无法批量生成所有task的文件

修复代码

基础修正(保留你原有索引遍历写法)

仅需将写入语句缩进,放到循环内部即可:

for t in range(0,len(cv_tasks)):
    # 原有处理逻辑
    <...some process..>
    # 每个task处理完成后立即写入对应文件,注意和上方代码缩进对齐
    df.to_csv('%s.csv' % cv_tasks[t], encoding='utf-8-sig', index=False)

优化写法(更简洁的遍历方式)

不需要通过索引取值,直接遍历cv_tasks元素即可:

for task in cv_tasks:
    # 原有处理逻辑
    <...some process..>
    df.to_csv(f"{task}.csv", encoding='utf-8-sig', index=False)

注意事项

  • 严格遵守Python缩进规则,循环内部的代码要比for开头的语句多缩进4个空格,不要和循环外代码对齐
  • 新增的encoding='utf-8-sig'参数可避免csv内容或文件名含中文时出现乱码,index=False参数可避免将DataFrame的行序号写入文件
  • 确认每个循环内你都会重新生成当前task对应的df数据,避免所有导出文件内容重复

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:21:00