爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 39548|回复: 32

[讨论] matlab如何解压缩和读取.gz和.tar结尾的文件呢?

[复制链接]

新浪微博达人勋

发表于 2013-1-17 04:16:27 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 kongfeng0824 于 2013-1-17 09:34 编辑

matlab如何解压缩和读取.gz和.tar结尾的文件呢?
我有一批这样的数据要处理。如图
QQ截图20130117040604.png
QQ截图20130117040633.png
打开其中一个文件,如下图,这个文件是这样的格式,没有任何后缀。请问在matlab中该如何读取这类数据呢?我觉得首先要能读进去.gz结尾的压缩包,然后对其进行解压缩打开,而后就是对其中的数据读取。只可惜做了诸多努力始终不得其解。特附上其中的一些数据文件,期待能够得到懂得人的一些指点。
已经能够读取并掌握的方法有nc、dat、txt数据的读取。
还没尝试hdf数据的读取。暂时遇到了以上数据的读取的问题。如遇大山不能跨越,希望可以得到大家的指点!!!!
所以希望能够在完成后写一个matlab读取给类数据的帖子。包括nc、dat、txt、hdf、grib以及没有后缀的这类的数据。

QQ截图20130117044040.png
QQ截图20130117044029.png

值得注意的是其中.tar结尾的压缩包打开后是个文件夹,文件夹打开后又有很多.gz结尾的压缩包。而这.gz结尾的压缩包中只有一个没有后缀名的文件。这个是最棘手的,一直在探索,但是毫无进展。听说过别人用linux系统下的应用。但是本人用的是win 7系统所以。相信很多用matlab的也是在windows系统之下,请大家指点!@言深深 @陌小默的 @wlzhongouc @mofangbao @Aires @topmad @兰溪之水 @清风

tmax.1948.gz

5.06 MB, 下载次数: 1, 下载积分: 金钱 -5

CMORPH_V0.x_RAW_0.25deg-3HLY_20080303.gz

2.52 MB, 下载次数: 0, 下载积分: 金钱 -5

CMORPH_V0.x_RAW_0.25deg-DLY_00Z_20080304.gz

775.58 KB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-17 09:19:32 | 显示全部楼层
本帖最后由 西西 于 2013-1-17 09:21 编辑

gz和tar,要么咋linux系统下用tar和gzip命令解压。要么就直接在windows下直接解压就可以。一般都可以直接解压的。解压以后的文件夹里的数据,才是你需要读取的数据、
那个打开后的数据,看你的形容和贴图,像是2.5*2.5的格点数据。因为没接触过。具体的也不知道是什么数据。
你先试试用txt,看看能不能打开。如果是十进制数据就好办了。
如果实在不行,你就试试ultraedit。这个软件可以打开很多种类型的文件。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2013-1-17 09:10:10 | 显示全部楼层
.tar和.gz结尾文件本来就是为了节省空间的压缩文件,就像windows下用winrar压缩的文件一样,用winrar或者winzip可以直接解压缩。解压缩后的文件才是真正的数据文件。
数据文件是哪一类格式,要看数据说明,争取找一个。这一类文件很多都是binary文件,顺序存放。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2013-1-17 09:18:14 | 显示全部楼层

有些数据是几百个甚至上千个.gz或者.tar组成的。如果都一个个手动解压缩不太好。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-17 09:23:21 | 显示全部楼层
西西 发表于 2013-1-17 09:19
gz和tar,要么咋linux系统下用tar和gzip命令解压。要么就直接在windows下直接解压就可以。一般都可以直接解 ...

这些数据是几百个甚至上千个.gz或者.tar组成的。如果都一个个手动解压缩不太好。所以我想看看matlab的解决办法。以及读取的办法。我再想想办法。不知你有什么建议吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-17 09:27:15 | 显示全部楼层
kongfeng0824 发表于 2013-1-17 09:18
有些数据是几百个甚至上千个.gz或者.tar组成的。如果都一个个手动解压缩不太好。

 # tar -xf all.tar

  这条命令是解出all.tar包中所有文件,-t是解开的意思

我们在linux下一般常用tar -zxvf file.gz.tar
这个命令是是解压所有的压缩文件,并且按照压缩时的位置目录归档,使其解压缩以后能恢复压缩之前的样子。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-17 09:27:55 | 显示全部楼层
tiran 发表于 2013-1-17 09:10
.tar和.gz结尾文件本来就是为了节省空间的压缩文件,就像windows下用winrar压缩的文件一样,用winrar或者wi ...

如果是单个的文件,我可以解压缩。然后读取进来。但是这种文件有很多个。解压缩不划算。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-1-17 09:30:52 | 显示全部楼层
http://www.urlshare.cn/cgi-bin/qzshare/cgi_qzshare_urlcheck?appid=2&rappid=2&url=http%3A%2F%2Fwww.php100.com%2Fhtml%2Fwebkaifa%2FLinux%2F2009%2F1213%2F3652.html
具体的解压缩的方法你可以去这个网址看看。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-17 09:31:33 | 显示全部楼层
西西 发表于 2013-1-17 09:27
 # tar -xf all.tar

  这条命令是解出all.tar包中所有文件,-t是解开的意思

哦。这个是在linux系统下用。我是想想win 7下matlab中的办法。那.gz的解压缩办法也是类似的吧?把.tar直接换成.gz
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-1-17 09:33:29 | 显示全部楼层
西西 发表于 2013-1-17 09:27
 # tar -xf all.tar

  这条命令是解出all.tar包中所有文件,-t是解开的意思

关键是我的这个文件是.tar里面还有成千上百个.gz的文件。所以是双层压缩。你们在linux系统下直接可以命令解压缩。win 7下matlab中还得再探索探索。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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