Jupyter notebook(Python3)を使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。
例えば、Pythonにてフォルダ内のzipファイルを一括で解凍するにはどう処理すればいいのか理解していますか。
ここでは、このpythonにてフォルダ内のすべてのZipファイルを解凍する方法についてサンプルコードを用いて解説していきます。
Pandas(python)にてフォルダ内のすべてのZipファイルを解凍する方法【同じディレクトリ】
それではpandasにてあるフォルダに格納されているzipを解凍し、中身を取り出す方法について確認していきます。
Zipfile機能(zipの処理)とglob(フォルダ内のデータの一括処理)を用いてコードを作成していきます。
以下のようCフォルダ直下にsampleフォルダを作成、複数のzipファイルが配置されているとします。
まずは、ここのディレクトリに中身をそのまま解凍していきます。なお、中身はzip名と同じで拡張子のみが異なるファイル名とします。
from zipfile import ZipFile
import glob
os.chdir(“C:\\sample5”)
zip_files = glob.glob(‘*.zip’)for file in zip_files:
with ZipFile(file) as zp:
zp.extractall()
以下で各々のコードを解説します。
os.chdir(“C:\\sample5”) でディレクトリの移動
zip_files = glob.glob(‘*.zip’)ですべてのzipファイルの指定
for file in zip_files:
with ZipFile(file) as zp:
zp.extractall()で指定したzipを解凍しています。
すると、zipの中身のcsvが一括して出力されました。
出力させるフォルダを指定してフォルダ内のすべてのZipファイルを解凍する方法【同じディレクトリ】
上では、同じディレクトリにzipファイルの中身をそのまま解凍する方法を記載しましたが、元のzipと同じとなるため少々わかりにくくなります。
そのため、zipの中身を解凍させるフォルダを別にしてみましょう(今回はoutzipフォルダ)。
以下のサンプルコードの通りとなります。
import os
from glob import glob
from zipfile import ZipFile
import glob
os.chdir(“C:\\sample5”)
zip_files = glob.glob(‘*.zip’)
for file in zip_files:
with ZipFile(file) as zp:
zp.extractall()
zf.extractall(“C:\\outzip”)
最後のpandasにてzipを解凍するコードの引数にパスを指定するだけでいいです。
すると、以下のようzipの中身が別のディレクトリに解凍されました。
※
私の場合は今まででなかなかの頻度でこの処理を行った経験があるので、覚えておくといいでしょう。
まとめ Pandas(python)にてフォルダ内のすべてのZipファイルを解凍する方法
ここでは、Pandas(python)にてフォルダ内のすべてのZipファイルを解凍する方法について解説しました。
Glob関数でフォルダ内のすべてのzipを読み込み、zipfile関数でzipの一括解凍を行くイメージを理解しておくといいです。
Pandas(Pythond)での各種処理方法に慣れ、より効率的なデータ解析を行っていきましょう。
コメント
[…] https://life-freedom888.com/pandas-zip/ […]