今回は複数の空フォルダを自動生成するプログラムをPythonでつくります。これで支店や部署ごとに空フォルダを毎回作成する作業を自動化できます。
手作業では、「右クリック ▶ 新規作成 ▶ フォルダ」で作成できますが、数多くなると結構な時間がかかります。プログラムで自動化するのに格好の作業です。
今回は店舗コードと店舗名のCSVファイルから読み込み、名前が店舗コード_店舗名
のフォルダを自動作成します。店舗コードを先頭につけることで、エクスプローラーで見やすくなります。
このプログラムを使えば、フォルダの数が100個でも毎回あっという間に作成できます。
この記事の目次
プログラムの動作
今回作成するプログラムは、以下のように、店舗コードのCSVファイルを読み取り、店舗名の空フォルダを自動作成します。
準備(Pythonのインストール)
以下の記事を参考にWindowsにPythonをインストールしてください。
プログラミング
早速プログラミングします。以下の手順で実際に実行してください。
1. メニューからPythonのIDLEを開きます。
2. エディタを開いて、コードを貼り付ける
IDLEツールバーのメニューから File ▶ New File を選択してエディタを開いてください。
そこに、以下のプログラムコードをコピーして貼り付けてください。
import os
import csv
stores_path = "店舗コード.csv"
with open(stores_path, encoding="cp932") as f:
reader = csv.reader(f)
for row in reader:
folder_name = row[0] + '_' + row[1]
if not os.path.exists(folder_name):
os.mkdir(folder_name)
IDLEのエディタには以下のように貼り付けます。
3. コードの保存
IDLEエディタのツールバーのメニューから File ▶ Save を選択して、make_folders.py
という名前で、適当なフォルダに保存します。
サンプルファイル
以下のサンプルファイルをダウンロードして解凍したら、プログラムと同じフォルダにコピーします
ファイル(店舗コード.csv)の中身は、以下のようになっています。
プログラム実行
WindowsにPythonをインストールすると、拡張子がpy
のPythonファイルはダブルクリックで実行できますので、make_folders.py
をダブルクリックしてください。
同じフォルダにある店舗コード.csv
を読み取り、以下のように各店舗のフォルダを作成します。
その他の実行方法
以下のようにIDLEのツールバーのメニューから Run ▶ Run Module を選択してもプログラムを実行できます。
カスタマイズ例
今回のコードをベースに以下のようなカスタマイズが考えられます。
ケース1:「店舗コード.csv」にヘッダーがある場合
以下のように店舗コードのファイルにヘッダーがある場合も多いと思います。
そのような場合は、以下のようにnext(reader)
により、先頭の1行を読み飛ばせば大丈夫です。
import os
import csv
stores_path = "店舗コード.csv"
with open(stores_path, encoding="cp932") as f:
reader = csv.reader(f)
# ヘッダーを読み飛ばす
next(reader)
for row in reader:
folder_name = row[0] + '_' + row[1]
if not os.path.exists(folder_name):
os.mkdir(folder_name)
ケース2:「店舗コード.csv」が共有フォルダにある場合
店舗コードのファイルは、マスターを共有フォルダで管理している場合が多いと思います。
そのような場合、ホストのコンピューター名がmain-host
、共有フォルダ名がShared Folders
であれば、以下のようにファイル名(stores_path
)を指定すれば、読み込むことができます(このようにネットワーク環境でコンピューター名を指定するのをUNCパスといいます)。
ただし、ここで注意が必要なのは、r'¥¥path¥file'
のように、先頭に r
を付けてください。これは、raw文字列と呼ばれるもので、クォートで囲まれた文字列をそのまま表示します。
このr
を付けないと、¥t
や¥n
は、タブや改行の意味になってしまいます(これはエスケープシーケンスといいます)。