Python:ValueError:float() 的无效文字:

标签 python python-2.7 numpy

我真的是 python 新手。所以也许我的问题真的很基本......对于我的工作,我会在一段时间内检查不同的参数。对于 Python 入门,我想绘制一个简单的列表,其中包含一个月的每日测​​量温度值。在列表中,我有如下结构的三个拆分:

日 -TAB- 温度 -TAB- Nr

我的代码:

import pylab as pl
import numpy as np

filename = "u_netCDF_write"
file = open(filename)
NoOfValues = 31                                                      

counter=0
data = []              
for line in file:                                                     
    if counter <= NoOfValues:                                          
         data.append(line.strip('\n').strip('\t').split(' '))            
         if len(data[-1]) == 4:                                         
            data[-1].pop(3)                                             
    counter+=1                                                          
x = np.linspace(0,30,31)                                                
data = np.transpose(data)                                             

for i in range(len(data[2])):                                           
   data[2][i] = float(data[2][i])-273.15

当我尝试绘制每日温度图时,我收到错误消息:

Traceback (most recent call last):
  File ".../.../unetCDFplot.py", line 43, in <module>
    data[2][i] = float(data[2][i])-273.15   
ValueError: invalid literal for float(): 03.07.2014

看起来代码没有转置数据。为什么会这样?有谁能够帮助我? 谢谢!

最佳答案

我的问题解决了!因此,对于遇到同样问题的任何人,这就是我所做的:我使用了

print(repr(data))

(感谢 Stephany Dionysio)检查了我代码中的每一步,发现问题不在于转置函数,而是每行中的空格。在尝试了不同的方法来删除空格后,我发现我无法删除由“data.append”引起的数组中的数组。为了获得我需要的值,我在 append 方法中使用了 pop():

data.append(line.strip('\n').strip('\t').split(' ').pop(7))  

现在我的代码可以正常工作了。谢谢你的好建议,他们让我走上了正确的道路! :)

关于Python:ValueError:float() 的无效文字:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33832275/

相关文章:

python - Spyder在训练神经网络时关闭

python - PyQt QtGui.QFileDialog 不工作?

c++ - 如何用 Cython 包装 C++ 类?

numpy - 将 Cython 包装的 C 函数与来自 NumPy 的 BLAS 链接起来

python - Numpy 字符串标量比较

javascript 相当于 python 的编译和执行

python - Django Admin - 一对多 - 如何确保只有一个 child 选择了 boolean 字段

python - 我可以在 "model.fit()"循环中使用 "for"来更改每次迭代中的训练数据吗

python - 使用具有 python 2 和 3 兼容性的 getpass

python - Pandas sklearn one-hot 编码数据帧还是 numpy?