python – 无法将字符串数值转换为float

我正在使用包含2列的CSV文件,第一个是格式为yyyymmdd的日期列,第二个是浮点格式的字符串值,例如0.0.

import csv
file = open('Precipitation.csv')
date_file = csv.reader(file)

dec = 0.0

for k in date_file:
    full_date = k[0]
    month = full_date[4:-2]
    rain_amount = k[1]
    float(month)

    if month == "12":
         float(rain_amount)
         dec += rain_amount

print(dec)

我通过使用类型(rain_amount)继续检查rain_amount的类型,并且它一直注册为“str”.我究竟做错了什么?我一直在努力检查和做不同的事情,但我找不到问题.我肯定做错了什么,但我一直在看这个太长时间才弄明白.救命?

最佳答案 float()不会就地修改变量,它会返回新的类型值.分配回来:

rain_amount = float(rain_amount)
点赞