■対象者
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
作成工程
ここからは、作成するまでの流れを記載していきます。
これだと、削除するファイルはテキストファイルのみになります。
また、エクセルファイルから読み込めないため再度条件を追加します。
「特定のフォルダ内のファイルをエクセルから検索して削除したい Python」
で検索した結果が下記です。
ライブラリを追加したほうが効率が良いらしいので、これも追加してみましょう。
「特定のフォルダ内のファイルをエクセルから検索して削除したい Python 効率よく」
で検索した結果が下記です。
■最後に
いかがでしたか、今回はPythonで作成してみました。
GASの時と同じく下記を抑えると良いです。
・どういった処理を実行したいのか
より具体的に
・言語は何にするのか
指定せずに、○○なことがしたいけど出来る?のような聞き方でも問題ないです。
・読み込みたい列抽出したい列なども指定することができます。
※F列が空白の場合
A列~E列を抽出したい、など
上記に加えて今回は改善案をChatCPT側から改善案を出してくれましたね。
既に作成したプログラムも、一度読み込んでもらうことで
効率よくなるかもしれないですね
[Chat GPTでGAS]Chat GPTを使用してGASを作成してみた。
[Chat GPT]Chat GPTのはじめ方・エラー解決・メリット・デメリット