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

Python使用csv模块写入文件时如何仅在顶部显示一次列表头

问题原因

当前代码把csv.writer初始化、表头写入逻辑都放在了遍历数据的for循环内部,每循环一次就会执行一次写表头操作,最终导致每一行数据前都重复插入表头。

修正方法

做3处调整即可:

  • 将csv.writer实例化逻辑移到循环外,无需每次遍历都新建写入对象
  • 将表头写入逻辑移到循环前,文件打开后仅执行一次表头写入
  • 简化逐行写入逻辑,无需对单个元素套列表再用writerows+zip处理,直接逐行写入即可,同时给文件打开参数加newline=''避免跨平台空行兼容问题

修正后的完整代码:

import csv 
import InvasionC

with open('Data.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    # 仅在文件开头写入一次表头
    writer.writerow(['t1', 'sigma', 'P_calc', 'Vel'])
    for x in range(len(InvasionC.t1)):
        print(InvasionC.Isigma)  # 压力相关调试打印
        print(InvasionC.IX)  # 速度相关调试打印
        print(InvasionC.IVelprof)
        # 逐行写入对应数据
        writer.writerow([
            InvasionC.t1[x],
            InvasionC.Isigma[x],
            InvasionC.IX[x],
            InvasionC.IVelprof[x]
        ])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:39:38