一. 讀取 rar 文件
Python 中 python-unrar
模塊依賴於 UnRAR library
, 所以需要先安裝 UnRAR library
1. 安裝 UnRAR library
在官網可以找到各種版本的安裝包, 下面給出 Linux 版安裝的說明
$ cd ~
$ wget http://www.rarlab.com/rar/unrarsrc-5.2.6.tar.gz
$ tar -xvf unrarsrc-5.2.6.tar.gz
$ cd unrar
$ make lib
$ sudo make install-lib
安裝好的文件存在 /usr/lib/libunrar.so
2. 安裝 python-unrar
安裝 unrar
$ pip install unrar
測試
$ python
>>> from unrar import rarfile
如果遇到下面的錯誤
表明 unrar
沒有找到剛纔安裝的依賴文件, 這時需要將依賴文件添加爲環境變量
打開配置文件
$ vim ~/.bash_profile
寫入
export UNRAR_LIB_PATH="/usr/lib/libunrar.so"
使配置生效
$ source ~/.bash_profile
3. 讀取 rar 壓縮文件夾
- 獲取壓縮文件夾包含的文件列表
def get_rar_dir(rar_file_path):
'''獲取rar壓縮文件夾dir'''
rar = rarfile.RarFile(path)
rar_dir = rar.namelist()
return rar_dir
- 獲取壓縮文件夾中某個 CSV 文件, 並轉爲 DataFrame
def read_rar(rar_file_path, csv_file_name):
'''讀取rar壓縮文件夾中的某個csv文件'''
rar = rarfile.RarFile(path)
data = rar.open(rar.namelist()[0])
df = pd.read_csv(data, header=None)
return df
二. 解壓 zip 文件
1. 安裝 zipfile
在 Python 中安裝 zipfile
需要根據 Python 版本來安裝, 對於 3.7 版本, 運行下面的命令
sudo pip3 install zipfile37
2. 讀取 zip 文件
import zipfile
# 讀取 zip 中的 CSV 文件並返回 DataFrame
def read_zip(zip_file_path, csv_file_name):
'''讀取zip壓縮文件夾中的某個csv文件'''
_zip = zipfile.ZipFile(zip_file_path)
data = _zip.open(csv_file_name)
df = pd.read_csv(data, header=None)
return df
# 讀取 zip 文件夾的目錄
def get_zip_dir(zip_file_path):
'''獲取zip壓縮文件夾dir'''
_zip = zipfile.ZipFile(zip_file_path)
zip_dir = _zip.namelist()
return zip_dir