「Pythonを勉強してみたいけれど、何を作ればいいのか分からない」
「文法を覚えるだけではなく、仕事で使えるものを作ってみたい」
Pythonを初めて学ぶとき、いきなり変数や関数を順番に暗記しても、何のために使うのか分からず挫折しやすくなります。
そこでこの記事では、初心者でも目的を理解しやすいように、実際の業務でも使える小さな自動化を1つ完成させます。
今回作るのは、
指定したフォルダに入っているファイルの一覧をCSVへ出力するプログラム
です。
たとえば社内IT担当なら、
「このフォルダには何のファイルが入っているのか一覧にしたい」
「ファイル名を1件ずつExcelへコピーするのが面倒」
という場面があります。
Pythonを使えば、こうした単純な繰り返し作業を自動化できます。
この記事では、Pythonを初めて触る人向けに、環境の確認からプログラムの実行、CSVの確認、エラーが出たときの切り分けまで順番に解説します。
- Pythonとは
- まずPythonが使えるか確認する
- 今回作るもの
- Pythonファイルを作る
- 完成したPythonコード
- 最初に変更するのは対象フォルダ
- import は必要な機能を利用する準備
- 変数に設定を入れる
- for でフォルダ内を順番に確認する
- ファイルかフォルダかを判定する
- 結果を1行ずつ保存する
- CSVへ書き出す
- プログラムを実行する
- このプログラムは元ファイルを変更しない
- FileNotFoundError が出たとき
- PermissionError が出たとき
- CSVが作られた場所が分からないとき
- サブフォルダの中まで一覧にしたい場合
- Excelファイルだけを対象にすることもできる
- Pythonで自動化するときは、いきなり本番データを使わない
- ChatGPTなどのAIにPythonを書かせるときの注意点
- エラーが出たら全文を書き換えない
- Python初心者が最初に覚えるべきこと
- まとめ|Pythonは小さな実務自動化から始める
Pythonとは
Pythonは、さまざまな処理をプログラムとして実行できるプログラミング言語です。
WebサービスやAIなどにも利用されていますが、社内IT担当にとって身近なのは、日常業務の自動化です。
たとえば、
フォルダ内のファイルを一覧化する
CSVを読み込んで加工する
複数ファイルの名前をまとめて処理する
ログから必要な情報を抜き出す
定型的なチェックを自動化する
といった作業に利用できます。
ただし、何でもPythonで自動化すればよいわけではありません。
Windowsだけで完結する簡単な管理作業ならPowerShellの方が向いている場合もありますし、Excelだけで十分ならExcelの機能を使った方が簡単なこともあります。
重要なのはPythonを使うこと自体ではなく、
人が繰り返している作業を、より安全かつ楽にできるか
です。
今回はPythonの基本を覚える題材として、ファイル一覧のCSV出力を作ります。
まずPythonが使えるか確認する
Windowsでは、PowerShellやコマンドプロンプトを開いて次のコマンドを実行します。
python --version
環境によっては、
py --version
でも確認できます。
Pythonが利用できる環境なら、
Python 3.x.x
のようにバージョンが表示されます。
コマンド自体が見つからない場合は、Pythonがインストールされていない、またはPATHなどの環境設定に問題がある可能性があります。
まずは、
Pythonのプログラムを書く前に、Python自体を実行できるか確認する
ことが大切です。
今回作るもの
たとえば、次のようなフォルダがあるとします。
C:\work
├─ manual.pdf
├─ users.xlsx
├─ network.txt
└─ backup
今回のPythonプログラムを実行すると、この内容を読み取って、
file-list.csv
を作ります。
CSVには、次のような情報を書き出します。
名前,種類,拡張子,サイズ,更新日時
manual.pdf,ファイル,.pdf,123456,2026-09-01 10:30:00
users.xlsx,ファイル,.xlsx,23456,2026-09-01 11:15:00
network.txt,ファイル,.txt,4567,2026-09-02 09:00:00
backup,フォルダ,,,2026-09-02 10:00:00
ファイルを1件ずつ確認してExcelへ入力する作業を、Pythonに代わりにやってもらうイメージです。
Pythonファイルを作る
まず、作業用フォルダを作ります。
たとえば、
C:\python-practice
とします。
その中に、
file_list.py
というファイルを作ってください。
.py はPythonプログラムで使われる拡張子です。
メモ帳でも作れますが、Visual Studio Codeなどのコードエディターがある場合は、そちらを使った方が編集しやすくなります。
完成したPythonコード
file_list.py に次のコードを書きます。
from pathlib import Path
import csv
from datetime import datetime
TARGET_FOLDER = Path(r"C:\work")
OUTPUT_FILE = Path("file-list.csv")
rows = []
for item in sorted(TARGET_FOLDER.iterdir(), key=lambda p: p.name.lower()):
modified = datetime.fromtimestamp(
item.stat().st_mtime
).strftime("%Y-%m-%d %H:%M:%S")
if item.is_file():
item_type = "ファイル"
extension = item.suffix
size = item.stat().st_size
else:
item_type = "フォルダ"
extension = ""
size = ""
rows.append([
item.name,
item_type,
extension,
size,
modified
])
with OUTPUT_FILE.open(
"w",
newline="",
encoding="utf-8-sig"
) as f:
writer = csv.writer(f)
writer.writerow([
"名前",
"種類",
"拡張子",
"サイズ",
"更新日時"
])
writer.writerows(rows)
print(f"CSVを作成しました: {OUTPUT_FILE.resolve()}")
長く見えるかもしれませんが、処理を分けて考えれば難しくありません。
ここから順番に見ていきます。
最初に変更するのは対象フォルダ
まず確認するのは、この部分です。
TARGET_FOLDER = Path(r"C:\work")
ここで、一覧を取得したいフォルダを指定しています。
たとえば、
C:\Users\user\Desktop\sample
を調べたいなら、
TARGET_FOLDER = Path(
r"C:\Users\user\Desktop\sample"
)
のように変更します。
自分の環境に存在するフォルダを指定してください。
記事のコードをそのまま実行して、自分のPCに C:\work が存在しなければエラーになります。
プログラムをコピーするときは、
どこを自分の環境に合わせて変更する必要があるのか
を確認することが大切です。
import は必要な機能を利用する準備
最初に次のコードがあります。
from pathlib import Path
import csv
from datetime import datetime
今回は、
Path
→ ファイルやフォルダを扱う
csv
→ CSVファイルを作る
datetime
→ 更新日時を読みやすい形にする
ために使っています。
Pythonでは、自分ですべての処理を一から作らなくても、用意されている機能を読み込んで利用できます。
初心者の段階では、
importは必要な道具を使えるようにする処理
と考えれば十分です。
変数に設定を入れる
次の部分を見てみます。
TARGET_FOLDER = Path(r"C:\work")
OUTPUT_FILE = Path("file-list.csv")
TARGET_FOLDER には調査するフォルダを入れています。
OUTPUT_FILE には作成するCSVファイル名を入れています。
このように、あとで使う値へ名前を付けて保存しておくものを変数と呼びます。
今回なら、
TARGET_FOLDER
= 調査する場所
OUTPUT_FILE
= 結果を保存する場所
です。
プログラムの途中に C:\work を何度も直接書くより、最初に設定としてまとめておく方が変更しやすくなります。
for でフォルダ内を順番に確認する
次の部分で、指定したフォルダの中身を順番に確認しています。
for item in sorted(
TARGET_FOLDER.iterdir(),
key=lambda p: p.name.lower()
):
初心者のうちは細かい書き方をすべて覚える必要はありません。
重要なのは、
フォルダの中身を取得する
↓
名前順に並べる
↓
1件ずつitemとして処理する
という流れです。
たとえばフォルダ内に、
manual.pdf
users.xlsx
network.txt
があれば、それぞれを順番に処理します。
人間が1ファイルずつ確認している作業を、Pythonの繰り返し処理に置き換えています。
ファイルかフォルダかを判定する
次の部分です。
if item.is_file():
item_type = "ファイル"
extension = item.suffix
size = item.stat().st_size
else:
item_type = "フォルダ"
extension = ""
size = ""
if は、
条件によって処理を分ける
ために使います。
今回は、
ファイルなら
→ 種類を「ファイル」にする
→ 拡張子を取得する
→ サイズを取得する
それ以外なら
→ 「フォルダ」とする
という判断をしています。
これも社内IT業務でよくある考え方です。
条件Aなら処理A
それ以外なら処理B
という判断をプログラムへ書いています。
結果を1行ずつ保存する
取得した情報は、
rows.append([
item.name,
item_type,
extension,
size,
modified
])
で rows に追加しています。
1件目のファイルを調べたら1行追加し、2件目を調べたらまた1行追加します。
イメージすると、
rows
1行目
manual.pdf
2行目
network.txt
3行目
users.xlsx
のように結果をためている状態です。
フォルダ内の確認が全部終わったあと、このデータをCSVへ書き出します。
CSVへ書き出す
CSVを作っているのが次の部分です。
with OUTPUT_FILE.open(
"w",
newline="",
encoding="utf-8-sig"
) as f:
ここでは、
file-list.csv
を書き込み用として開いています。
続いて、
writer = csv.writer(f)
でCSVを書き込む準備をします。
最初に、
writer.writerow([
"名前",
"種類",
"拡張子",
"サイズ",
"更新日時"
])
で見出しを書きます。
そのあと、
writer.writerows(rows)
で、先ほど集めたファイル情報をまとめて書き込みます。
これでCSVが完成します。
プログラムを実行する
PowerShellやコマンドプロンプトで、file_list.py を保存したフォルダへ移動します。
例:
cd C:\python-practice
その状態で、
python file_list.py
を実行します。
環境によっては、
py file_list.py
でも実行できます。
成功すると、たとえば、
CSVを作成しました: C:\python-practice\file-list.csv
のように表示されます。
python-practice フォルダを見ると、
file-list.csv
が作成されています。
CSVをExcelなどで開き、指定したフォルダの内容が一覧になっていれば成功です。
このプログラムは元ファイルを変更しない
業務でスクリプトを実行するときに重要なのが、
何を読み取り、何を変更するプログラムなのか
を把握することです。
今回のプログラムは、指定したフォルダの情報を読み取って、新しい file-list.csv を作ります。
一覧対象になっているPDFやExcel、テキストファイルそのものを書き換える処理は入れていません。
初心者が自動化するときは、いきなり、
ファイル削除
ファイル移動
ファイル名変更
大量更新
をするプログラムから始めるより、
情報を読む
↓
結果を別ファイルへ出力する
タイプのプログラムから始める方が、仕組みを確認しやすくなります。
FileNotFoundError が出たとき
よくあるのが、指定したフォルダが存在しないケースです。
たとえば、
TARGET_FOLDER = Path(r"C:\work")
としているのに、実際には C:\work が存在しなければ正常に読み込めません。
まず、
C:\work
がエクスプローラーから実際に開けるか確認してください。
Python初心者がエラーを見ると、すぐにコード全体が間違っていると思いがちです。
しかし、
コードではなく、指定したファイルパスが間違っている
だけの場合もあります。
エラーが出たら、まず「何を指定したのか」を確認しましょう。
PermissionError が出たとき
フォルダへアクセスする権限がない場合には、権限関連のエラーが発生することがあります。
この場合も、いきなりPythonを管理者権限で実行するのではなく、
自分がエクスプローラーからそのフォルダを開けるか
アクセス権が与えられている場所か
会社の共有フォルダなどで制限されていないか
を確認します。
会社PCでは、管理者権限で無理やり実行することが適切とは限りません。
まずアクセス対象と権限を確認してください。
CSVが作られた場所が分からないとき
今回のプログラムでは最後に、
print(
f"CSVを作成しました: {OUTPUT_FILE.resolve()}"
)
としています。
そのため、実行後にCSVの保存先が表示されます。
初心者向けのスクリプトでは、
処理が終わったのか
結果がどこに保存されたのか
が分かるようにしておくと確認しやすくなります。
単にプログラムが終了するだけより、結果を表示した方がトラブルを減らせます。
サブフォルダの中まで一覧にしたい場合
今回のコードは、指定したフォルダの直下だけを一覧にします。
たとえば、
C:\work
├─ manual.pdf
└─ backup
└─ old-manual.pdf
という場合、
manual.pdf
backup
は対象になりますが、backup の中にある old-manual.pdf までは一覧にしません。
サブフォルダまで調べる処理もPythonでは作れます。
ただし、最初から処理範囲を広げると、
大量のファイルを処理してしまう
アクセスできないフォルダに当たる
想定以上に結果が増える
といったことがあります。
まずは直下だけで正常に動くことを確認してから、必要に応じて機能を追加する方が安全です。
Excelファイルだけを対象にすることもできる
実務では、
「全部のファイルではなく、Excelファイルだけ一覧にしたい」
ということもあります。
Pythonでは拡張子を条件にして処理対象を絞れます。
考え方としては、
フォルダ内を確認する
↓
ファイルか確認する
↓
拡張子が.xlsxか確認する
↓
条件に合うものだけ一覧へ追加する
という流れです。
ここまで理解できれば、単なる練習用プログラムから、自分の仕事に合った小さなツールへ発展させられます。
Pythonで自動化するときは、いきなり本番データを使わない
会社でPythonを使う場合は、コードが動くことだけでなく、誤操作を防ぐことも重要です。
特に、
ファイルを削除する
ファイル名を一括変更する
データを書き換える
メールを送信する
アカウントを操作する
といった処理は影響が大きくなります。
最初はコピーしたテストデータや練習用フォルダで試してください。
そして、
何件処理されるのか
どのファイルが対象なのか
元データを変更するのか
失敗したときに戻せるのか
を確認してから実際の業務で利用します。
自動化は手作業より速い反面、間違った処理も高速で実行してしまいます。
速く処理できることと、安全に処理できることは別
と考えておくことが大切です。
ChatGPTなどのAIにPythonを書かせるときの注意点
現在は、Pythonをすべて自分で書けなくても、ChatGPTなどのAIへコード作成を依頼できます。
たとえば、
Windowsで指定フォルダ直下のファイル一覧を取得して、
CSVへ保存するPythonコードを作ってください。
CSVには、
・ファイル名
・拡張子
・サイズ
・更新日時
を出してください。
元ファイルは変更・削除しないでください。
のように依頼できます。
ただし、AIがコードを書いたからといって、そのまま会社PCで実行してよいとは限りません。
少なくとも、
どのフォルダを対象にしているか
ファイルを削除していないか
ファイルを上書きしていないか
外部へデータを送信していないか
何を新しく作成するのか
は確認してください。
特に、
unlink()
remove()
rmtree()
など、削除につながる処理が含まれている場合は、意味を理解せず実行しない方が安全です。
AIはPython学習の補助として便利ですが、
生成されたコードが何をするのか確認する作業
までAI任せにしないことが重要です。
エラーが出たら全文を書き換えない
プログラムがエラーになると、
「コードが全部間違っている」
と思うかもしれません。
しかし実際には、
Pythonが起動できていない
対象フォルダが存在しない
ファイルパスが間違っている
アクセス権がない
コードの一部分だけ間違っている
など、原因はさまざまです。
まず、
1. Pythonは起動できているか
↓
2. file_list.pyは実行できているか
↓
3. どの行でエラーになったか
↓
4. エラー名は何か
↓
5. 対象フォルダは正しいか
という順番で確認します。
プログラミングでも、社内ITのトラブル対応と同じように、
どこまで正常に動いているかを切り分ける
ことが重要です。
Python初心者が最初に覚えるべきこと
今回のプログラムだけでも、Pythonの基本的な考え方をいくつか使っています。
import
→ 必要な機能を読み込む
変数
→ 値へ名前を付ける
for
→ 同じ処理を繰り返す
if
→ 条件によって処理を分ける
Path
→ ファイルやフォルダを扱う
csv
→ 結果をCSVへ保存する
文法だけを見ると難しく感じるかもしれません。
しかし、
フォルダを指定する
↓
中身を順番に見る
↓
ファイル情報を取得する
↓
結果をためる
↓
CSVへ出力する
という目的から考えれば、各コードの役割が見えやすくなります。
まとめ|Pythonは小さな実務自動化から始める
Python初心者が最初から大量の文法を暗記する必要はありません。
まず、
自分が手作業でやっている小さな作業を1つ自動化する
ところから始めると、Pythonを何に使えるのか理解しやすくなります。
今回作ったプログラムでは、
指定フォルダを読む
↓
ファイルを1件ずつ確認する
↓
必要な情報を取得する
↓
CSVとして保存する
という処理を自動化しました。
これだけでも、
「プログラムを書くと仕事の何が楽になるのか」
を体験できます。
次に自動化するときも、いきなり大きなシステムを作る必要はありません。
たとえば、
特定の拡張子だけ抽出する
ファイル数を数える
更新日時の古いファイルを探す
CSVの内容をチェックする
といった小さな処理から広げていけば十分です。
そして会社のデータを扱う場合は、必ずテスト用データで動作を確認し、プログラムが何を読み、何を変更するのか把握してから利用してください。
Pythonを学ぶ目的は、コードを暗記することではありません。
面倒な作業を、安全に自動化できる選択肢を増やすこと
です。
まずは練習用フォルダを作り、今回のファイル一覧CSVを一度自分のPCで出力してみてください。