Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法将字符串转换为浮点_Python_String_Floating Point_Floating Point Conversion_Floating Point Exceptions - Fatal编程技术网

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

Python 无法将字符串转换为浮点,python,string,floating-point,floating-point-conversion,floating-point-exceptions,Python,String,Floating Point,Floating Point Conversion,Floating Point Exceptions,我从csv获取信息,我需要取一个字段,理论上是一个浮点,但可以为空,我是这个函数,它取浮点所在的行[I],应该返回浮点 def fun(x): if not(x): x=0 x=float(x) else: x = float(x) return x 但当我尝试使用它时,它会抛出一个错误,告诉我“float()参数必须是字符串或数字”好的,那么 def fn(x): try: return floa

我从csv获取信息,我需要取一个字段,理论上是一个浮点,但可以为空,我是这个函数,它取浮点所在的行[I],应该返回浮点

def fun(x):
    if not(x):
        x=0
        x=float(x)
    else:
        x = float(x)
    return x
但当我尝试使用它时,它会抛出一个错误,告诉我“float()参数必须是字符串或数字”

好的,那么

def fn(x):
    try:
        return float(x)
    except (ValueError, TypeError):
        return 0.0
输出:

1.0
0

尝试修复您的格式,这不是合法的python。您将传递什么作为x?@padraiccnningham例如fun(第[11]行),csv中的第[11]行为空,是的,但您是否始终认为第[11]行可以作为浮点进行解析?我想试一试/不试一试会好得多。什么类型的
x
?添加一个
print(type(x))
作为
fun
的第一行,并向我们展示它的意思!)仍然告诉我“float()参数必须是字符串或数字”@Tabbz,是否传递列表、元组等,,?您需要
打印行[11]
并准确查看您是什么passing@Tabbz,
except(ValueError,TypeError):
将捕获TypeError,但是当您得到错误时,您应该真正看到第[11]行是什么。“print row[11]”在出现错误之前显示了什么?我像这样打印“row[11]”+str(row[11])打印“row[12]”+str(row[12])打印“row[13]”+str(row[13]),你可以知道我打印的是什么,但是如果我只打印第[11]行,打印方式是“ok”,那么也可以捕捉到类型错误,它将捕获空字符串
,除了(ValueError,TypeError):
1.0
0