Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Python文法わからない人がchatGPT利用して業務自動化させてみた

 Python文法わからない人がchatGPT利用して業務自動化させてみた

虎の穴ラボの小西です。
2024/2/29 19:00~の 第2回インフラLT会で発表した資料になります。

S.Konishi

March 05, 2024
Tweet

Other Decks in Technology

Transcript

  1.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 Python文法わからない人がchatGPT 利用して業務自動化させてみた 1 Copyright © 2022 Toranoana Inc. All Rights Reserved.
  2.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 2 自己紹介 S.Konishi • 2018/7 入社のインフラエンジニア • 虎の穴ラボ インフラエンジニア マネージャ • 前職:メーカ・通信系 SIer、プロバイダ等 入社理由 • 自社プロダクトのインフラ業務がしたい! • 同人文化が好き!(C48から参加) 好きな作品など • アイドルマスター全般 • 声優ライブ参戦(雨宮天さん
  3.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 3 今回の前提環境 ・WindowsにPythonをインストールし   コンソールからバージョン情報知る   ことができる人     ・変数などの概念は他スクリプト言語などで知っていて Python の文法はわからないが     記載されているスクリプトを見たらなんとなくやってい ることがわ かる人 ・初級者向け
  4.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 4 ちょこっと自動化したいこと 社内で利用しているレポート xlsx ファイル を特定フォルダ配下に移動したい。     作業頻度:1か月に1回     実施内容:サードパーティwebツールから               ダウンロードできる               (部署名).xlsx が 20ファイルほどある。       部署名は、重複などはなく毎月同様のファイル名。       部署A.xlsx        部署B.xlsx …..
  5.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 その複数のxlsxファイルを 虎太郎部長配下フォルダ...[YYYYMMフォルダ]                           A部署.xlsx , C部署.xlsx 虎次郎部長配下フォルダ...[YYYYMMフォルダ]                           B部署.xlsx 虎三郎部長配下フォルダ...[YYYYMMフォルダ]                           A部署.xlsx, C部署.xlsx などに手動で動かしていた。。 5 ちょこっと自動化したいこと 1月フォルダ 1月フォルダ 1月フォルダ
  6.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 1か月に1回とはいえ 部署が多くなってきて 手動でやると時間がもったいなさすぎる! しかも、間違う!                                                                                                                                                                                     ~月分のB部署のxlsxファイルが                                             ないんだけど・・ 6 はっきりいって・・
  7.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 処理を考える やりたい処理は決まっているので、整理する 処理の流れ 今回はやりたいことが明確に決まっているので 自身で考える。この工程自体をAIにやらせることも できなくはない   1.処理可能かチェック       対象のxlsxファイルは存在するのか?       対象の部署フォルダは存在するのか?       部署フォルダ配下のYYYYMM フォルダは       存在するのか? 7 AIにやらせよう
  8.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 処理を考える   2.処理実行       対象のxlsxファイルを対象のフォルダに移動する。       ファイルが存在していれば、標準出力に状況を出力       する。       だいたいこんなところだろうか。。 8 AIにやらせよう
  9.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 とにかく列挙 以下をpython で出力してください。 --変数部分 移動元ファイルの場所は C:\移動元です。 移動先ファイルの場所は C:\移動先です。 --標準入力部分 YYYYMM を変数として扱い、年と月を6桁の数値で標準入力で指定できるようにしてください。 また数値以外が入力されたとき、桁が違うときは再度入力を促す処理を行ってください。 --チェック処理 チェック処理開始と標準出力してください。 カレントディレクトリにファイル:A部署.xlsx が存在しているかチェックし、あれば続行なければexit1 で終了 カレントディレクトリにファイル:B部署.xlsx が存在しているかチェックし、あれば続行なければexit1 で終了 カレントディレクトリにファイル:C部署.xlsx が存在しているかチェックし、あれば続行なければexit1 で終了 移動先フォルダの C:\ 移動先 に01_ 虎太郎部長配下 が存在しているかチェックし、あれば続行なければexit1 で終了 移動先フォルダの C:\ 移動先 に02_ 虎次郎部長配下 が存在しているかチェックし、あれば続行なければexit1 で終了 移動先フォルダの C:\ 移動先 に03_ 虎三郎部長配下 が存在しているかチェックし、あれば続行なければexit1 で終了 C:\移動先\01_虎太郎部長配下フォルダ\YYYYMM のフォルダが存在しているかチェックし、あれば続行なければYYYYMM を作成し続行 C:\移動先\02_虎次郎部長配下フォルダ\YYYYMM のフォルダが存在しているかチェックし、あれば続行なければYYYYMM を作成し続行 C:\移動先\03_虎三郎部長配下フォルダ\YYYYMM のフォルダが存在しているかチェックし、あれば続行なければYYYYMM を作成し続行 チェック処理終了と標準出力してください。 --処理部分 処理開始と標準出力してください。 C:\移動先\虎太郎部長配下フォルダ\YYYYMM のフォルダに、A部署.xlsx ,C部署.xlsx をコピーしてください。 C:\移動先\虎次郎部長配下フォルダ\YYYYMM のフォルダに、B部署.xlsx をコピーしてください。 C:\移動先\虎三郎部長配下フォルダ\YYYYMM のフォルダに、C部署.xlsx をコピーしてください。 9 処理を書く。構造化などはまかせた。
  10.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴                             それっぽいものが                             出力されたのが                             少しながいので                             「さらにシンプルに                               できないか?」                             と聞いてみた 10 そのまま聞いてみた
  11.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 14 ながめてみる                           変数名が長いのがちょっと・・・ 「source_file_location と destination_file_location の変 数が長いので5文字に収めてください」
  12.           虎の穴 虎の穴 虎の穴 虎の穴 虎の穴

    虎の穴 16 総評 ・ファイル処理の移動処理に関しては得意そう ・実はテスト実行の段階で     YYYYMM フォルダが作成されずファイルで     つくられたり・・     コピーされていなかったり・・     もあったが、上記指摘をしたら修正も可   →1度作ってしまえば結構な時短になりました。     単純処理はどんどんまかせていきましょう。