見出し画像

第1回 生成AIで簡単!フォルダ内のファイル一覧をExcelに出力するPythonスクリプト

はじめに

今回から「生成AI × プログラミング」を始動していきます。

~軽い自己紹介~
都内某所でITエンジニアをしています。
開発案件のPLになり、プログラミングに触れることが減ったのと、レビュアーとして人が書いたソースをレビューする立場になったのもあり、プログラミングを生成AIにやらせてみようと至りました。
結局触っていなかったPythonを使っていろいろやっていきますので、興味を持った方はぜひ一緒にやってみましょう!

第1回ではフォルダ内のファイルを整理して一覧化し、それをExcelファイルに自動で保存できるPythonスクリプトを紹介します。
これはPythonの初歩の初歩と言えると思います。
今回はこれを生成AIに指示を出して生成してもらいましょう!

最終的に生成する予定のコード

以下がこのスクリプトの完成版です。
このコードを実行することで、指定フォルダ内のファイル情報をExcelに出力することができます。

import os
from openpyxl import Workbook
from datetime import datetime

# フォルダ内のファイル一覧を取得する関数
def get_file_info(folder_path):
    file_list = []
    for file_name in os.listdir(folder_path):
        file_path = os.path.join(folder_path, file_name)
        if os.path.isfile(file_path):
            file_size = os.path.getsize(file_path)
            creation_time = os.path.getctime(file_path)
            file_list.append({
                "name": file_name,
                "size": file_size,
                "created_at": datetime.fromtimestamp(creation_time).strftime('%Y-%m-%d %H:%M:%S')
            })
    return file_list

# ファイル情報をExcelに出力する関数
def export_to_excel(file_list, output_path):
    wb = Workbook()
    ws = wb.active
    ws.title = "File List"
    
    # ヘッダー行の書き込み
    ws.append(["File Name", "File Size (bytes)", "Creation Date"])
    
    # 各ファイル情報の書き込み
    for file_info in file_list:
        ws.append([file_info["name"], file_info["size"], file_info["created_at"]])
    
    # Excelファイルを保存
    wb.save(output_path)
    print(f"Excel file saved at: {output_path}")

# メイン処理
if __name__ == "__main__":
    folder_path = input("Enter the folder path: ")
    output_path = "file_list.xlsx"
    
    file_list = get_file_info(folder_path)
    export_to_excel(file_list, output_path)

必要な準備と環境構築

まだPythonを準備していない方向けにさらっと環境構築についてです。
VSCodeで開発を予定しています。

1.Pythonのインストール

Python公式サイトからインストールします。
※Add Python 3.x to PATH にチェックを入れてください

2.VSCodeのインストールとセットアップ

  • VSCode公式サイトからダウンロード。

  • 「拡張機能」から「Python」をインストール。

3.完成コードに必要なライブラリ

ご自身で生成したコード次第では他にもライブラリが必要になる場合があります。
ライブラリのインストールについても生成AIに質問してみてください。

  • os: フォルダ内のファイル情報を取得

  • openpyxl: Excelファイルの作成・編集

  • datetime: 作成日時のフォーマット変換

pip install openpyxl

おわりに(無料)

ここからはこちらで用意した正解の一つになります。
ご自身で生成までできたのであれば見る必要はありませんが、開発手法案やプロンプトのフォーマットも記載しているので、答え合わせやチップも兼ねてご覧いただければと思います。

次回は別の題材を用意して「生成AI × プログラミング」をやっていこうと思います!
Pythonもいいけど、ExcelVBAを生成させれば楽に稼げそうという話を友人に聞いたので、そっち方面もやっていきたい所存…(もしあればリクエストください)

ではここからは有料になります、ご覧いただきありがとうございました!

ここから先は

3,278字

¥ 300

PayPay
PayPayで支払うと抽選でお得

この記事が気に入ったらチップで応援してみませんか?