读代码专项第 6 题:CSV 未跳表头

import csv
total = 0
with open("sales.csv", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
total = total + int(row[0])
print(total)
sales.csv 内容: amount,product 100,A 200,B
实际报错: ValueError: invalid literal for int() with base 10: 'amount'

  1. 代码意图:
    读取 sales.csv 中 amount 列的金额,并计算总和。

  2. 问题和根因:
    问题在循环里直接 int(row[0])。csv.reader 不会自动跳过表头,第一次读到的是 ["amount", "product"],所以 row[0] 是 "amount",int("amount") 不能转换成整数,因此报 ValueError。

  3. 修复方案:
    在 for 循环前增加 next(reader) 跳过表头。

posted @ 2026-06-16 11:09  呵哈哈哈哈  阅读(3)  评论(0)    收藏  举报