编辑:为了省去滚动的麻烦,这个问题源于需要输出变量的“decode”操作;我的脚本未能做到这一点。我以为“for”循环会原位修改变量,但事实并非如此。在
长话短说,我有一些netCDF文件,我从中生成一系列地图。这个脚本工作得很好,但我遇到了很大的问题,使标题显示正确。我从netCDF文件中获取变量,它将充当我的标题(基本上是一个简单的时间戳)。首先,我尝试将其作为Python变量,然后将其用作绘图标题。在
不幸的是,我知道它是所谓的“字节”字符串。这意味着标题前面有一堆小写的“b”。不仅仅是一开始。即:
b'T'b'我'b'b'e'
这是因为netCDF变量是一个屏蔽数组。我设法得到一些可行的代码,将数组转换成一个列表,然后转换成一个字符串,一切似乎都能正常工作。然而,整个事情的关键是字节.解码()”操作。在
据我所知,这个操作接受bytes对象,然后将它们作为纯字符串返回。Afaik,这些都是utf-8格式的,我检查了输入的类型,发现它们都被归类为“字节”。
然而,当我尝试使用decode时,它告诉我对象不是字节,实际上是在它告诉我它们是字节之后的瞬间?请参阅下面的代码和输出/错误。在
代码:#check the type, shape, and data of times
print(type(times))
print(times.shape)
print(times.data)
#change the times masked array to a list