■対象者
Pythonで日頃コードを書いている方
Chat GPTを最近よく聞くけど使用したことない方
実際に業務で、使用できるか知りたい方
■作成前に
■Pythonのインストール
Python公式サイト から、インストールしたいバージョンのPythonを選択してダウンロードします。
ダウンロードしたインストーラーを実行します。この時、”Add Python to PATH”にチェックを入れることをお勧めします。
インストールが完了したら、コマンドプロンプト (Windows) やターミナル (macOS, Linux) を起動します。Pythonが正常にインストールされたかを確認するため、以下のコマンドを実行してみます。
「–version」
もし、バージョン番号が表示された場合は、Pythonのインストールが正常に完了しています。
■今回作成する際にChat GPTを使用します。
登録せずとも、大丈夫ですが始めたい方は、下記からアカウントを作成してください。
Chat GPT公式サイト
■実際に作成したいもの
今回作成したいのは下記になります。
①エクセルファイルに対象ファイルを記載する。
②特定の共有フォルダ内でファイルを検索する。
メールアドレスをエクエルファイルに記載して、@前をファイル名として検索します。
③該当するファイルを削除する。
■作成したコード
import openpyxl
import time
import datetime
import shutil
dt_now = datetime.datetime.now()nowyeare = (dt_now.year)nowmonth = (dt_now.month-1)
print(nowyeare)print(nowmonth)
yameta_book = openpyxl.load_workbook("エクセルファイル名.xlsx")
yameta_sheet = yameta_book['シート名']
time.sleep(3)
#最大行maxrow = yameta_sheet.max_row
#最大列maxclm = yameta_sheet.max_column
#開始行startrow =yameta_sheet.min_column
#開始列startclm =yameta_sheet.min_row
s = 3i = 3print(maxrow)
yameta_adress = []
while i <= maxrow: yameta_list =yameta_sheet.cell(row=s, column=7).value yameta_adress.append(yameta_list) i = i + 1 s = s + 1 print(yameta_adress)else: print(yameta_adress)
# -----------エクセルファイルから削除するデータ取得---------------------
for taisyokusya in yameta_adress:target = '@'
try:idx = taisyokusya.find(target)
m = taisyokusya[:idx]
# スライスで@よりも前を抽出
print(m)
dir_path = (f"Y:\\フォルダ名\\{m}")
print(dir_path)
shutil.rmtree(dir_path)
time.sleep(3)
except:pass
作成工程
ここからは、作成するまでの流れを記載していきます。
![](https://shosinsyamuke.com/wp-content/uploads/2023/02/1-1-1024x630.png)
これだと、削除するファイルはテキストファイルのみになります。
また、エクセルファイルから読み込めないため再度条件を追加します。
![平凡太郎](https://shosinsyamuke.com/wp-content/themes/cocoon-master/images/man.png)
「特定のフォルダ内のファイルをエクセルから検索して削除したい Python」
で検索した結果が下記です。
![](https://shosinsyamuke.com/wp-content/uploads/2023/02/2-6.png)
![](https://shosinsyamuke.com/wp-content/uploads/2023/02/3-4-1024x565.png)
ライブラリを追加したほうが効率が良いらしいので、これも追加してみましょう。
![平凡太郎](https://shosinsyamuke.com/wp-content/themes/cocoon-master/images/man.png)
「特定のフォルダ内のファイルをエクセルから検索して削除したい Python 効率よく」
で検索した結果が下記です。
![](https://shosinsyamuke.com/wp-content/uploads/2023/02/4-4-1024x757.png)
![](https://shosinsyamuke.com/wp-content/uploads/2023/02/5-2.png)
■最後に
いかがでしたか、今回はPythonで作成してみました。
GASの時と同じく下記を抑えると良いです。
・どういった処理を実行したいのか
より具体的に
・言語は何にするのか
指定せずに、○○なことがしたいけど出来る?のような聞き方でも問題ないです。
・読み込みたい列抽出したい列なども指定することができます。
※F列が空白の場合
A列~E列を抽出したい、など
上記に加えて今回は改善案をChatCPT側から改善案を出してくれましたね。
![平凡太郎](https://shosinsyamuke.com/wp-content/themes/cocoon-master/images/man.png)
既に作成したプログラムも、一度読み込んでもらうことで
効率よくなるかもしれないですね
[Chat GPTでGAS]Chat GPTを使用してGASを作成してみた。
[Chat GPT]Chat GPTのはじめ方・エラー解決・メリット・デメリット