import numpy as np
import datetime
import matplotlib.pyplot as plt
import matplotlib as mpl
import pandas as pd
import operator
# myfile = 'D:/hello/code/雷达处理/03/层云降水2--SHLG.20190810.090000.AR2'
myfile = 'E:/X波段双偏振雷达数据/2019-06/SHLG.20190601.000801.AR2'
fh = open(myfile,'rb')
buf = fh.read()
fre = True
while fre == True:
fh.seek(0)
flag2Product = {1:'dBT', 2:'dBZ', 3:'V', 4:'W', 5:'SQI', 6:'CPA', 7:'ZDR', 8:'LDR',\
9:'CC', 10:'PhiDP', 11:'KDP', 12:'CP', 13:'FLAG', 14:'HCL', 15:'CF',\
16:'SNRH', 17:'SNRV', 18:'Flag', 19:"Flag", 20:'Flag',21:"Flag",\
22:'Flag', 23:"Flag", 24:'Flag', 25:'Flag',26:"Flag", 27:'Flag', \
28:'Flag', 29:"Flag", 30:'Flag',31:'Flag', 32:"Zc", 33:'Vc', 34:'Wc',\
35:'ZDRc', 0:'Flag'}
GennericHeader = fh.read(32)
SiteCon = fh.read(128)#站点配置模块
TaskCon = fh.read(256)#任务配置快
ScanStartTime = np.frombuffer(TaskCon,'i',1,172)
ScanStartTime = str(datetime.datetime.utcfromtimestamp(ScanStartTime))
CutNumber = np.frombuffer(TaskCon,'i',1,176)
print(ScanStartTime)
报错TypeError: only integer scalar arrays can be converted to a scalar index,错在ScanStartTime = str(datetime.datetime.utcfromtimestamp(ScanStartTime))这行,实在不懂
将一维数组转化为列表,然后可以进行转换:
ScanStartTime = [str(datetime.datetime.utcfromtimestamp(x)) for x in ScanStartTime.tolist()]
这个是数据类型错误了,你看代码调用函数的参数设置的格式对不对
ScanStartTime如果是题主所说的类型和结构,就应该没有问题
>>> import numpy as np
>>> import datetime
>>> ScanStartTime = np.array([5], dtype=np.int32)
>>> str(datetime.datetime.utcfromtimestamp(ScanStartTime))
'1970-01-01 00:00:05'
>>> ScanStartTime = np.array([1e9], dtype=np.int32)
>>> str(datetime.datetime.utcfromtimestamp(ScanStartTime))
'2001-09-09 01:46:40'
在25行和26行之间,print(ScanStartTime.dtype, ScanStartTime.shape),看看ScanStartTime是不是整型标量数组。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y