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

如何使用Python读取CSV的PRCP列求和计算年度降水总量

年度降水总量统计实现

核心要求

  • 读取CSV文件内PRCP列的所有数值,求和得到年度降水总量
  • 依赖限制:仅使用Python内置csv模块、pathlib库的Path类
  • 给定测试数据运行结果需为1

测试用CSV数据

STATION NAME, DATE, PRCP, TMAX, TMIN
USW00023183PHOENIX AIRPORT, 1/1/2020, 1, 60, 40
USW00023183PHOENIX AIRPORT, 1/2/2020, 0, 64, 41

正确实现代码

import csv
from pathlib import Path

# 此处替换为你的CSV文件实际存储路径
csv_path = Path("precipitation_2020.csv")

total_precip = 0
with csv_path.open("r", encoding="utf-8") as f:
    # skipinitialspace=True 用于处理逗号后带空格的CSV格式,避免字段名带多余空格
    reader = csv.DictReader(f, skipinitialspace=True)
    for row in reader:
        # PRCP读入为字符串,需转整数后累加
        total_precip += int(row["PRCP"])

print(total_precip)

传入上述测试数据运行,输出结果为1,符合要求

原有代码问题梳理

  • 初始将存储累加值的变量设为整数0,直接对整数做for循环遍历,属于语法错误,整数不可迭代
  • 未初始化csv读取对象reader就直接在循环中调用,会触发变量未定义错误
  • 循环过程中反复将累加变量覆盖为当前行的PRCP值,没有实现累加逻辑
  • 存在无效语法prcps>0[month],整数类型不支持下标索引操作
  • 第二个循环的循环变量和实际取值变量不匹配,循环遍历的是PRCP,取值时却用了前一个循环残留的item变量,逻辑完全混乱
  • 累加逻辑写为perp += perp,是变量自身翻倍,不是累加当前行的降水量,逻辑错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:12:19