次世代シークエンサーの登場により、最近は数十Gから数百Gといった巨大なデータを扱うことが多くなってきました。
それに伴い、最近はLinux等で見られるtarファイルやtar.gzファイルを解凍する機会も多いです。
そこで、今回はPythonでこれらのファイルを解凍する方法を記載します。
ファイルの種類について
tar、tar.gzとは
tarファイルはアーカイブといって、
複数のファイルを1つにまとめただけの非圧縮ファイルです。
tar.gzはそんなtarファイルを圧縮したファイルとなります。
Windowsだと、Lhaplusや7-zipで解凍できるのですが、
Lhaplusでは2G以上のファイルは解凍できず、
7-zipでもエラーが頻発して困っていました。
そんな時、pythonでもtar.gzを解凍できることを知りましたので、 備忘録的に記しておきます。
解凍のためのスクリプト
では、実際にファイルを解凍していきましょう!!
tar.gzの解凍と保存
ディレクトリの移動
まずは、解凍したいtar.gz
ファイルのあるディレクトリに移動します。
ディレクトリの移動はos
を使います。
import os os.chdir('移動先のファイルパス') os.getcwd() #目的のディレクトリに移動できていることを確認
ディレクトリの移動などPythonの基本的な使い方につきましては、以下の本を参考に勉強しましたので、
参考にしてください。
- 作者:辻 真吾
- 発売日: 2018/04/12
- メディア: 大型本
tar.gzファイルの解凍
tar.gzの解凍には、tarfile
ライブラリを用います。
tarfile.open('filename', 'r = gz')
で解凍できます。
filename
の部分は各自で変更してください。
import tarfile file = tarfile.open('ファイル名', 'r = gz') file.extractall() file.close()
これで、Pythonでもtar.gzファイルが解凍できました。