我对python很陌生。所以也许我的问题是非常基本的…对于我的工作,我在一段时间内检查不同的参数。从Python开始,我想用一个月的每日测量温度值绘制一个简单的列表。在列表中,我有三个类似以下结构的拆分:
日-表-温度-表-编号
我的代码:
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
看起来代码没有转换数据。为什么会这样?有人能帮我吗? 谢谢!
我解决了我的问题!所以对任何有同样问题的人来说,我做的是:我用
(多亏了斯蒂芬妮·狄奥尼西奥)检查我代码中的每一步,并理解问题不是转置函数,而是每一行的空格。尝试了不同的方法删除空空间后,我发现无法删除由“data.append”引起的数组中的数组。为了获得所需的值,我在append方法中使用了pop():
现在我的代码可以正常工作了。谢谢你的忠告,他们让我走对了路!:)
我不知道你的“u-netCDF-write”文件的内容,所以调试它是相当困难的。但正如另一篇文章所显示的,它是一个存在于值中的非打印字符。
看看这是否有帮助 python ValueError: invalid literal for float()
2014年7月3日不能为浮动。看起来您使用的数据列表中的数据不正确。
相关问题 更多 >
编程相关推荐