Extracting Compressed File in Python
In our daily life data compressing is a must need work for handling large data file. And also we need to decompress or extract data from compress data. Common compress file extension are zip
, tar
, tar.gz
, bz2
, 7z
and so on. While working with python we need to know how to extract those compressed data in python.
Here is some way in python to extract data from common compressed extension
.zip
File Extracting
from zipfile import ZipFile
zf = ZipFile('path_to_file/file.zip', 'r')
zf.extractall('path_to_extract_folder')
zf.close()
.tar
or .tar.gz
File Extracting
import tarfile
tar = tarfile.open("file.tar.gz") # or file.tar
tar.extractall()
.bz2
File Extracting
import bz2
zipfile = bz2.BZ2File(filepath) # open the file
data = zipfile.read() # get the decompressed data
newfilepath = filepath[:-4] # assuming the filepath ends with .bz2
open(newfilepath, 'wb').write(data) # write a uncompressed file
.7z
File Extracting(python 3 only)
import lzma
with lzma.open('data.7z') as f:
f.extractall("<output path>")