[Python] ダウンロードしたcsvファイル(zip圧縮)を解凍

に、abcd.zipに圧縮されダウンロードされたcsvファイルが複数格納されている。解凍するとcsvDLフォルダ内にabcdフォルダが解凍され、その中にabcd-xyz.csvファイルが再生される。

〖前提〗
 csvDLフォルダの作られているフォルダ(1階層上のフォルダ)に、pythonのプログラム(スクリプト)(”unzip.py”)が保存されていて、Spyderを使ってプログラムの開発と実行を行う。(開発したプログラムは、どこか共通フォルダを作って集中管理する方が効率的だが、事例ごとに細かい仕様が変わるので、ローカルコピーを作ってカスタマイズしている。)

〖使用するモジュール〗
os:ファイルやフォルダ(ディレクトリ)の管理 [step 1]
zipfile:zipファイルの解凍や圧縮 [step 2]

〖プログラム〗

[step 1]  csvDLフォルダにあるファイルとフォルダのリストを取得する。
# -*- coding: utf-8 -*-
“””
unzip csv files downloaded in “csvDL” folder
Created on 2020.07.07 by H. Kojima
“””
import os
path = os.getcwd()
files = os.listdir(path+”\\csvDL”)
for file in files:
    print(file)
 

実行結果

[step 2]  “unzip”フォルダを作成し(mkdir)、圧縮されたファイル(”.zip”の拡張値を持つ)をそのフォルダー内に解凍する。

# -*- coding: utf-8 -*-
“””
unzip csv files downloaded in “csvDL” folder
Created on 2020.07.07 by H. Kojima

“””
import os
import zipfile
#
path = os.getcwd()
files = os.listdir(path+”\\csvDL”)
os.mkdir(path+”\\csvDL\\unzip”)
for file in files:
    if file[len(file)-4:] == “.zip”:
        print(“extractiong: “, file)
        with zipfile.ZipFile(path+”\\csvDL\\”+file) as zf:
            zf.extractall(path+”\\csvDL\\unzip”)

〖実行結果〗