テーマ別チュートリアル

スクリプト・ファイル自動化

繰り返し発生するファイル作業を、小さなPythonスクリプトで整理します。

このテーマの記事 9

例を使って一歩ずつ

スクリプト・ファイル自動化01

フォルダー内のファイル一覧をCSVで作成する

サブフォルダーを走査し、ファイルパス、拡張子、サイズ、更新日時を表として記録します。元のファイルと既存の結果をそのまま保持したまま、まず4つの小さなサンプルファイルで確認します。

Pythonファイル整理CSV
スクリプト・ファイル自動化02

CSVファイルを結合し、元のファイル名を保持する

同じ列構成のCSVファイルを順番に結合し、source_file列を追加します。小さなデータセットを使って、カンマを含む項目名、列不足、既存の出力フォルダを確認します。

PythonCSV結合出典追跡
スクリプト・ファイル自動化19

ヘッダーを失わずに大きなCSVを小さなファイルへ分割する

CSVをデータレコード数で分割し、すべての出力ファイルに同じヘッダーを繰り返して、元のファイルは変更しません。7レコードの合成例を使って境界を確認し、すべてのレコードが元の順序のまま保持されることを検証します。

PythonCSV自動化
スクリプト・ファイル自動化20

削除する前にサイズと SHA-256 で重複ファイルを探す

まずファイルサイズで絞り込み、その後 SHA-256 digest を比較し、元ファイルを変更せずに確認専用の CSV を作成します。7ファイルの合成例を使い、どの path が report に含まれ、どれが含まれないかを確認します。

PythonファイルSHA-256
スクリプト・ファイル自動化22

日付入りの ZIP バックアップを作成し、アーカイブ内容を検証する

元のファイルを変更せずにフォルダから日付入り ZIP アーカイブを作成し、すべての元ファイルが内容一致の状態でアーカイブに含まれていることを検証します。小さな合成フォルダを使うため、想定されるパス、サイズ、合計値を手作業でも確認できます。

PythonZIPバックアップ
読む → 実行する → 確認する

すべての例は練習用です。自動車データは説明用の合成データです。