Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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 - Fatal编程技术网

Python 浮点数的文本无效

Python 浮点数的文本无效,python,Python,我最难弄明白为什么传递给float()函数的科学符号字符串不起作用: time = [] WatBalR = [] Area = np.empty([1,len(time)]) Volume = np.empty([1,len(time)]) searchfile = open("C:\GradSchool\Research\Caselton\Hydrus2d3d\H3D2_profile1v3\Balance.out", "r") for line in searchfile: if

我最难弄明白为什么传递给float()函数的科学符号字符串不起作用:

time = []
WatBalR = []
Area = np.empty([1,len(time)])
Volume = np.empty([1,len(time)])
searchfile = open("C:\GradSchool\Research\Caselton\Hydrus2d3d\H3D2_profile1v3\Balance.out", "r")
for line in searchfile:
    if "Time" in line: 
        time.append(re.sub("[^0-9.]", "", line))
    elif "WatBalR" in line: 
        WatBalR.append(re.sub("[^0-9.]", "", line))
    elif "Area" in line:
        Area0 = re.sub("[^0-9.\+]", "", line)
        print repr(Area0[:-10])
        Area0 = float(Area0[:-10].replace("'", ""))
        Area = numpy.append(Area, Area0)
    elif "Volume" in line:
        Volume0 = re.sub("[^0-9.\+]", "", line)
        Volume0 = float(Volume0[:-10].replace("'", ""))
        Volume = numpy.append(Volume, Volume0)
searchfile.close()
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-80-341de12bbc94> in <module>()
     13         Area0 = re.sub("[^0-9.\+]", "", line)
     14         print repr(Area0[:-10])
---> 15         Area0 = float(Area0[:-10].replace("'", ""))
     16         Area = numpy.append(Area, Area0)
     17     elif "Volume" in line:
    ValueError: invalid literal for float(): 0.55077+03

如果在参数周围加引号,则会出现相同的无效文字,但我试图从字符串中删除引号,但似乎无法这样做。

0.55077+03
0.55077
添加到
03
。科学记数法需要
e

0.55077e+03

0.55077+03
是添加到
03
0.55077
。科学记数法需要
e

0.55077e+03
float(0.55077+03)
3
添加到
.55077
中,然后将其转换为float(它已经是)

请注意,这也仅适用于python2.x。在python3.x上,
03
是一个无效的令牌——正确的写入方式是
0o3

float('0.55077+03')
不起作用(并引发您看到的错误),因为这不是python float的有效表示法。如果你想要一种科学符号,你需要:
float('0.55077e03')
。如果你真的想计算表达式,那么事情就变得有点棘手了

float(0.55077+03)
3
添加到
.55077
中,然后将其转换为float(它已经是)

请注意,这也仅适用于python2.x。在python3.x上,
03
是一个无效的令牌——正确的写入方式是
0o3


float('0.55077+03')
不起作用(并引发您看到的错误),因为这不是python float的有效表示法。如果你想要一种科学符号,你需要:
float('0.55077e03')
。如果你真的想计算表达式,那么事情就变得有点棘手了

你在哪里使用科学记数法?我没有看到。注:你在哪里使用科学记数法?我没有看到。注意: