Python Float变成了字符串I can';t转换为浮点数

Python Float变成了字符串I can';t转换为浮点数,python,Python,我在这里完全不知所措 我的代码变得非常冗长,所以我只在这里发布关键部分。如果需要的话,我会提供更多。我很感激在这件事上能得到的任何帮助。这个论坛对我来说太棒了 我需要将一些值相加。我在前两个部分都做得很好。它工作100%如预期。我有完全相同的代码,然后用不同的数组值复制,在我尝试添加数字之前,一切都正常。我得到一个错误,说我不能在浮点和字符串上使用+。如果我试着做一个xxx=float(xx),它会说它无法转换成float 令人困惑的是,我已经把它作为一个浮点数,除以1000。但是这个值突然变成

我在这里完全不知所措

我的代码变得非常冗长,所以我只在这里发布关键部分。如果需要的话,我会提供更多。我很感激在这件事上能得到的任何帮助。这个论坛对我来说太棒了

我需要将一些值相加。我在前两个部分都做得很好。它工作100%如预期。我有完全相同的代码,然后用不同的数组值复制,在我尝试添加数字之前,一切都正常。我得到一个错误,说我不能在浮点和字符串上使用+。如果我试着做一个xxx=float(xx),它会说它无法转换成float

令人困惑的是,我已经把它作为一个浮点数,除以1000。但是这个值突然变成了一个字符串,我看不到任何变化,也不能使它成为浮点。任何帮助都会很好

这是相关代码。前两个模块工作正常。在我尝试添加这两个值之前,第二个两块将一直工作,在这种情况下,可变TCIF是一个字符串,无法成为浮点。最后一行失败了。如果我做一个TCIF-float(TCIF),它会说它不能转换

尝试显式转换时的错误示例

"..-Metrics.py", line 143, in <module>
    TCIF = float (TCIF)
ValueError: could not convert string to float: 
试着从这个开始。 如果要查看zip([…])命令的作用,请运行下面的示例

matches1 = TotFileXferCIF.findall(line)  
matches2 = TotFileXferSMB.findall(line)  
matches = zip(matches1, matches2) #shuffle lists together  

for firestick1, firestick2 in matches:  
    #do your work here
zip示例:

matches1 = range(10)
matches2 = range(10,18)
print(zip(matches1, matches2))
输出:

[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16), (7, 17)]
基本调试:

try:
    TCIF = float(TCIF)
except ValueError:
    print(repr(TCIF))

这将准确地显示故障点时
TCIF中的内容,您可以从那里返回跟踪。

您的意思是
firestick.split()
?您看过
TCIFArray[6]
?!TCIFArray[6]是一系列数字,以MB或GB为单位表示一个十进制度量单位。我已经证实了这一点。事实上,我以MB为单位将其取出,然后除以1000,因此所有内容都以GB为单位。数学没问题试着在除法之后把TCIF打印出来没问题在除法之后把它打印出来。所有数字看起来都不错。以下是TCIF和TCIFArray[6]11.9 11.9 18.3 18.3 11.2 11.2 12.8 12.8Ok的输出示例。还没有完成列表和元组。哈下一章。我会看看zip做了什么,然后再做一段时间。它会将列表一起洗牌。很漂亮。特别是如果你有并行阵列。。。看起来你是这么做的。>>>>matches1=range(10)>>>>matches2=range(10,18)>>>打印(zip(matches1,matches2))>>>不知道这个didI使用Python3而不是2是什么,如果它重要的话是的,听起来不错。我得到了syntac错误,但可以谷歌的方式来写它。不喜欢这条线,除了我得到空的记号。“如果您看到的是
TCIF
为空,并且
float()
无法转换空字符串。我想知道是否是这种情况。但如果我只是打印(TCIF)数字流。我再敲几下
try:
    TCIF = float(TCIF)
except ValueError:
    print(repr(TCIF))