【问题标题】:Error: ValueError: could not convert string to float错误:ValueError:无法将字符串转换为浮点数
【发布时间】:2013-07-21 01:20:56
【问题描述】:

我一直在运行我的代码时出现这个错误:

import numpy as np
import matplotlib.pyplot as plt 
import glob
import scipy


pe_day = []
day = []
f = open("PE0.txt", "r").readlines()
for each_day in f:
    (day, pe) = each_day.split()
    day = str(day)
    pe_day.append(float(pe))
    print(pe_day)
    print(day[14:16])
    plt.plot(pe_day, float(day), '-',  color = 'g')    
f.close()
plt.show()

由于我一直在使用 python 3.3,而且我是一名新程序员,所以我不知道应该从哪里开始。

【问题讨论】:

  • day 包含什么?可能它包含一些非数字值
  • print(day, pe)放在包含(day, pe) = each_day.split()的行之后,看看它会打印什么...

标签: python python-3.x


【解决方案1】:

根据 cmets,您在第二个字段中有非数字字符。要规避此类异常,请使用以下类似代码:

    try:
        pe_day.append(float(pe))
    except Exception as e:
        print "Error occured while  trying to convert pe value: %s to float " % (pe)
        print "Errors :\n\t\t", sys.exc_info()[0], ":\t", e

【讨论】:

    猜你喜欢
    • 2019-09-28
    • 1970-01-01
    • 2019-03-23
    • 2018-06-13
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多