You need to enable JavaScript to run this app. Spyder环境下CSV绘图仅使用前25行数据的实现方法
优惠活动
大模型
产品
解决方案
定价
更多

Spyder环境下CSV绘图仅使用前25行数据的实现方法

代码调整方案(最小改动适配需求)

核心问题定位

你当前的逻辑里csv.reader是逐行全量遍历文件内容,没有做读取行数截断,才会把500行全量存入列表;之前设置nrows=3的pd.read_csv读取结果根本没有接入后续绘图流程,属于冗余代码,没有实际作用。

具体调整步骤

  • 第一步:给csv遍历流程加行数截断,实现仅读前25条有效实例
    在原来的逐行遍历逻辑基础上新增行计数,读满25条有效数据(跳过表头)就强制终止遍历,避免全量读文件,参考调整后的代码:
    # 初始化行计数,定义需要读取的有效数据行数
    row_counter = 0
    TARGET_READ_ROWS = 25
    x, y, z, xx = [], [], [], [] # 清空之前全量读取的列表内容
    
    with open("你的DKI雅加达新冠数据.csv", "r", encoding="utf-8") as f:
        csv_reader = csv.reader(f)
        next(csv_reader) # 跳过CSV表头行,避免表头被当成数据存入
        for row in csv_reader:
            # 读满25条有效数据就直接退出循环,不再遍历后续行
            if row_counter >= TARGET_READ_ROWS:
                break
            # 按原有逻辑把当前行的四个字段存入对应列表,替换成你实际的列索引即可
            x.append(row[日期对应的列索引])
            y.append(int(row[新增病例数对应的列索引]))
            z.append(int(row[死亡数对应的列索引]))
            xx.append(int(row[治愈数对应的列索引]))
            row_counter += 1 # 计数+1
    
  • 第二步:绘图阶段切片取前20条数据,适配实际展示要求
    前面读了25条数据存列表后,绘图时不要直接用全量列表,通过Python列表切片取前20个元素传入绘图函数,原来的自定义标记、图例、数值偏移标注逻辑只需要把传入的数据源换成切片后的列表即可,不需要大改:
    # 切片取前20条绘图数据
    plot_x = x[:20]
    plot_y = y[:20]
    plot_z = z[:20]
    plot_xx = xx[:20]
    
    # 后续matplotlib绘图逻辑(折线绘制、标记设置、图例、数值偏移标注)全部替换为上述plot_*开头的列表即可
    

避坑提醒

  • 原有带数值偏移标注的绘图循环,记得把遍历索引范围改成前20个元素,不要沿用之前遍历全量列表的逻辑,避免出现标注和折线不匹配的问题
  • 之前写的pd.read_csv(..., nrows=3)的代码段和当前逻辑无关联,属于冗余代码,要么直接删除,要么如果后续想简化逻辑,可以直接用pd.read_csv("xxx.csv", nrows=26)(算上1行表头实际读25条有效数据)读取后转成列表,替代自己写的csv遍历流程,代码量更少
  • 跳表头的步骤不能漏,不然表头行的文本内容会被当成第一条数据存入列表,既会挤占25条的计数名额,也会因为文本没法转成整数触发类型报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.12 21:45:09