无法将字符串转换为浮点数

Cannot convert string to float

我正在从 csv 中获取信息,我需要获取一个字段,该字段理论上是一个浮点数,但可以为空,我是这个函数,它获取浮点数所在的行 [i],并且应该return 浮动,

def fun(x):
    if not(x):
        x=0
        x=float(x)
    else:
        x = float(x)
    return x

但是当我尝试时它抛出这个错误告诉我 "float () argument must be a string or a number"

好的,怎么样

def fn(x):
    try:
        return float(x)
    except (ValueError, TypeError):
        return 0.0
def fun(x):
    try:
        x = float(x)
    except ValueError:
        x = 0
    return x

print fun("1")
print fun(' ')

输出:

1.0
0