0
0

pythonでzipファイルを解凍する

Posted at

前提

ゴールとしてawsのs3にupされたzipファイルをトリガーにlambdaを動作させzipファイルの中身を編集しs3UPするものを作りたいので
手始めに今回はローカルでpythonの実行ファイル用意してzipファイルを解凍する簡単な処理を試してみる備忘録です

条件

zipファイルを展開する時に「.csv」以外の拡張のファイルは邪魔になるので解凍するのは「.csv」ものだけにします

実戦

test_csvs.zip
test_csvs.zip
 └sample1.csv
 └sample2.csv
 └sample3.csv
 └main.py
 └sample.py
test.py
import zipfile
import os

def unzip_files(zip_file_path):
  # 現在のスクリプトが実行されているディレクトリを取得
  extract_to_path = os.path.dirname(os.path.abspath(__file__))

  with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
    for item in zip_ref.namelist():
      # 確認用にファイル名表示
      print(item)
      
      # .csvファイルのみを解凍
      if item.endswith('.csv'):
        zip_ref.extract(item, extract_to_path)

# 解凍するZIPファイルのパスを指定
zip_file_path = 'test_csvs.zip'

# .pyファイルのみを抽出して解凍
unzip_files(zip_file_path)

test.pyとzipファイルは同じディレクトリに設置してtest.py実行します
test.pyを実行すると同じディレクトリに「sample1.csv, sample2.csv, sample3.csv」が解凍されています

おわり

今回はzipファイルの解凍だけでしたが次はs3からのファイルのDLとUPの処理周りをやろうかと思います

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0