
第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を生成させれば楽に稼げそうという話を友人に聞いたので、そっち方面もやっていきたい所存…(もしあればリクエストください)
ではここからは有料になります、ご覧いただきありがとうございました!
ここから先は
¥ 300

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