如何在Python中使用循环计算CSV文件指定行的平均值
实现指定列平均值计算的方案
你当前的代码是遍历CSV每行、取每行索引为7的列(对应表格第8列)输出,要计算该列的平均值,按以下步骤调整即可:
- 先导入
csv模块(你的原代码缺这个导入语句,运行会报错) - 定义两个变量分别存数据总和、有效数据条数,初始值都设为0
- 跳过CSV的表头行(首行一般是字段名,直接转数值会报错)
- 遍历每行时把取出的字符串转成数值,再累加到总和里,同时统计有效条数
- 遍历结束后用总和除以条数得到平均值
完整可运行代码
import csv sum_val = 0 count = 0 # 用with语法打开文件会自动关闭文件,更稳妥 with open('TB_burden_countries_2014-09-29.csv', encoding='utf-8') as f: reader = csv.reader(f) # 跳过表头行 next(reader) for row in reader: # 转成浮点数,支持小数计算 current = float(row[7]) sum_val += current count += 1 average = sum_val / count print("该列平均值为:", average)
特殊场景适配
如果该列存在空值,可加判断跳过空值避免报错,循环部分调整为:
for row in reader: col_val = row[7].strip() # 仅处理非空内容 if col_val: current = float(col_val) sum_val += current count += 1
内容的提问来源于stack exchange,提问作者user175024
相关产品推荐
相关产品推荐

