请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4785|回复: 7

python 读取ARWpost处理后的数据

[复制链接]

新浪微博达人勋

发表于 2020-1-18 13:07:19 | 显示全部楼层 |阅读模式
Python
系统平台:
问题截图: -
问题概况: 各位前辈,我刚刚接触python,想用python处理ARWpost处理后的.dat数据,但是我对数据类型并不了解。
我看过提问的智慧: 看过
自己思考时长(天): 5

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
这是我的读取代码
f=open(r'C:\Users\Administrator\Desktop\pt_dcd.dat','r')
a=np.fromfile(f,dtype=np.float64)

但是,这个dtype到底写多少呢?我试过16/32/64都不行,结果明显是错的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-1-18 15:00:14 | 显示全部楼层
如果数据是二进制的话,你要把'r'改成'rb'
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-1-18 15:13:52 | 显示全部楼层
前辈,我改成rb之后,好像读取出来的结果没啥变化
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-1-18 15:43:04 | 显示全部楼层
data = np.fromfile(filename, dtype='f')
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-1-18 18:08:50 | 显示全部楼层
前辈,我试了一下,和我原来写的结果没有区别。不过也谢谢您了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-1-18 18:14:27 | 显示全部楼层
我用float32读出的数据个数是对的,但是数值明显是不对的。比如我第一个变量是lat,但是读出来的数值是这种
[[ 0.0000000e+00  5.5858334e-32  2.1160633e+37 ... -1.1649909e-33
   2.4084931e+16 -1.5106119e-06]
[ 1.5328849e-37  1.7643283e-15  4.1205088e+10 ...  2.7550417e+10
  -5.3968668e-02  1.4466382e-10]
[-1.4057211e+19 -2.5209108e-14  1.4302757e-25 ...  1.7299580e+07
   1.4581415e-27  1.0263309e+20]
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-2-3 11:58:52 | 显示全部楼层
自问自答
f=open(r'G:\cygwin\home\administrator\GWres36\rain\rain_wsm6\d3_rain.dat','rb')
aa=np.fromfile(f,dtype=">f")
dtype选择>f即可
因为这里面的数据是大端模式
大端模式,小端模式指的是数据在内存地址中存储的顺序不同。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-2-25 18:42:31 | 显示全部楼层
你们太厉害了把
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表