如何在Python中部分读取2d卫星文件?(二进制,fromfile)

2024-04-20 01:40:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有很多卫星数据是由二维组成的。你知道吗

(I)将H5转换为不包括纬度信息的2d阵列数据 我另外制作了Lat/Lon信息数据。)

我知道一个数据中真正的Lat/Lon协调和网格协调。你知道吗

如何在Python中部分读取2d附属文件?

““numpy.fromfile文件“通常用于读取二进制文件。你知道吗

如果我使用选项作为计数numpy.fromfile文件,我可以部分读取二进制文件。你知道吗

但是,我想跳过一个数据中的前端记录,以便保存内存。你知道吗

例如,我有3x3 2d数据,如下所示:

python

a= [[1,2,3] [4,5,6] [7,8,9]]

我刚读了一篇用Python写的[3][0]。(结果=7)

当我在Fortran中读取文件时,我使用了“rec,rec”。你知道吗

^{2}$

纬度是指数据中纬度的位置。 (在上述exsample中,lat=3;在Fortran中,起始编号是1。)

lon表示经度在数据中的位置。 (在上面的exsample中lon=1;在Fortran中起始数字是1。)

x是行数。 (x=3,上例,数组为3x3)

我可以读取文件,只使用4字节的内存。你知道吗

我想知道Python中类似的方法。你知道吗

请给我一些特别的信息以节省时间和记忆。你知道吗

谢谢你阅读我的问题。你知道吗

2016年10月28日。 解决方案

python Data = [1,2,3,4,5,6,7,8,9], dtype = int8, filename=name

a = np.memmap(name, dtype='int8', mode='r', shape=(1), offset=6)

print a[0]

result : 7


Tags: 文件数据内存numpy信息二进制lonlat
2条回答

要读取.h5文件:

import h5py
ds = h5py.File(filename, "r")
variable = ds['variable_name']

很难理解你的描述。一些适当的代码缩进将有助于克服你的英语语言问题。你知道吗

所以你有H5文件的数据。最简单的方法是h5py将其加载到Python/numpy会话中,并从这些数组中选择必要的数据。你知道吗

但听起来好像你已经把一部分数据写入了一个普通的二进制文件。知道你是怎么做到的也许会有帮助。这个2d是什么样子的?你知道吗

np.fromfile读取一个文件就像它是1d一样。你能读取这个文件吗,最多count?用正确的dtype?你知道吗

np.fromfile接受打开的文件。因此,我认为您可以打开该文件,使用seek向前跳,然后从那里读取count项。但我还没测试过这个想法。你知道吗

相关问题 更多 >