“TypeError:只能将元组(不是”float“)连接到元组”

时间:2016-10-08 02:19:55

标签: python

我正在编写一个程序来打开并读取一个txt文件并遍历每一行的循环。将第2列和第4列中的值相乘,并将其分配给第5列。

A 500.00 A 84.15  ?

B 648.80 B 77.61  ?

C 342.23 B 39.00  ?

这是我写的代码的一部分,

for line in infile:
    a,b,c,d = line.split()
    e = eval(b) + eval(d)

    print("{0:20}${1:20}{2:20}${3:20}{4:20}".format(a,b,c,d,e),file=outfile)

我一直在说错误,

  

文件“C:/ Users / hee lim / Desktop / readfile2.py”,第19行,在main中       e = eval(b)+ eval(d)   TypeError:只能将元组(不是“float”)连接到元组

我使用“eval”将字符串转换为数字以乘以这些数字。 我不明白为什么它会标记错误。

谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

查看此信息,我只能告诉eval bd float返回的值为tuple+类型。而且您无法floattuple >>> 5.0 + (2 ,3) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'float' and 'tuple' 。例如:

print line

要进行调试,请在for循环开始时添加<bean id="sftpSessionFactory" class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory"> <property name="host" value="localhost"/> </bean> <bean id="cachingSessionFactory" class="org.springframework.integration.file.remote.session.CachingSessionFactory"> <constructor-arg ref="sftpSessionFactory"/> <constructor-arg value="10"/> <property name="sessionWaitTimeout" value="1000"/> </bean> 以查看它引发错误的值。

答案 1 :(得分:0)

对于我来说,出现此错误是因为我错误地删除了for循环中试图枚举的索引。

之前(无错误) for i, item in enumerate(items):

之后(错误) for item in enumerate(items):