対応環境
- エディション:Windows 10 Pro
- バージョン:20H2
背景
Pythonで作業をしていると、フォルダ内に大量のファイルが溜まってしまうことがあります。
その中から**「.csvファイルだけを抽出したい」**と考え、今回新たに方法を学びました。
解決策:endswith()で拡張子を判別する
ファイル名の末尾に注目して拡張子を判別するには、Python標準のendswith()
関数を使用します。
今回は、デスクトップ上の「data」フォルダにたくさんのファイルが保存されている想定で、サンプルプログラムを作成しました。
サンプルプログラム
import os
os.chdir("C:/Users/mori/デスクトップ/data/")
files = os.listdir()
file_list = []
file_csv = ".csv"
for read_file in files:
if read_file.endswith(file_csv):
file_list.append(read_file)
プログラム解説
(空白行は省略しています)
1行目、os
ライブラリをインポートしています。
2行目、os.chdir()
を使い、デスクトップ上の「data」フォルダに移動しています。
3行目、そのフォルダ内に存在するすべてのファイル名を、files
変数に格納しています。
4行目、条件に一致するファイルを保存するための空リストfile_list
を用意しています。
5行目、拡張子.csv
をfile_csv
変数に代入しています。
6行目、for文を使って、files
リストの中から1つずつファイル名をread_file
に取り出して処理しています。
7行目、if文を使って、read_file
の末尾が.csv
で終わるかを判定しています。
8行目、条件がTrueだった場合、対象ファイルをfile_list
に追加しています。
実行結果の確認方法
プログラムの最後に以下のコードを追加すると、対象ファイルが正しくリストアップされているか確認できます。
print(file_list)
また、5行目の.csv
を変更することで、.xlsx
(Excelファイル)や.png
(画像ファイル)など、
異なる拡張子でのファイル抽出も可能です。
まとめ:特定の拡張子ファイルを簡単に分類する
Pythonのendswith()
を使えば、
拡張子によるファイルの自動分類が簡単に実現できます。
大量のファイルの中から必要なファイルだけを効率的に抽出したい場合に、非常に役立つテクニックです。
ぜひ、ご自身の作業に取り入れてみてください。
最後までご覧いただき、誠にありがとうございました。