Pythonを使って実際に業務でよく使われるファイル操作やデータ処理を自動化する方法について学びます。特にファイルの作成、削除、移動といった操作から、CSVファイルの読み書きや、ファイルのリネーム・分類といった業務の一部を自動化するスクリプトを紹介します。
2.1 ファイル操作
2.1.1 ファイルの作成
Pythonを使ってファイルを作成するのは非常に簡単です。一般的に、open()
関数を使います。次の例では、example.txt
というファイルを作成し、そこにテキストを書き込むスクリプトを示します。
# ファイルの作成と書き込み
with open("example.txt", "w") as file:
file.write("これはPythonで自動生成されたテキストファイルです。\n")
file.write("業務効率化を進めるために、定期的なレポートをこのように作成できます。")
解説:
open()
関数の第一引数はファイル名、第二引数はモードです。ここでは"w"
(write モード)を指定しているので、新しいファイルを作成し、そこに書き込みが行われます。もし同じ名前のファイルが既に存在していた場合は上書きされます。with
ブロックを使うことで、ファイルのクローズ処理が自動で行われ、リソース管理が簡単になります。- このスクリプトは、例えば定期レポートやログファイルを作成する際に便利です。
2.1.2 ファイルの削除
不要になったファイルは、Pythonのos
モジュールを使って削除することができます。次のコードは、指定したファイルを削除する例です。
import os
# ファイルが存在するか確認してから削除
if os.path.exists("example.txt"):
os.remove("example.txt")
print("ファイル 'example.txt' を削除しました。")
else:
print("ファイルが存在しません。")
解説:
os.remove()
関数でファイルを削除します。削除する前にos.path.exists()
を使って、ファイルが存在するかどうか確認しています。- このようなスクリプトは、例えばバックアップのクリアや古いデータの整理に役立ちます。
2.1.3 ファイルの移動
ファイルを別のディレクトリに移動したい場合には、shutil
モジュールを使うと便利です。以下のコードは、example.txt
を新しいディレクトリに移動する例です。
import shutil
# ファイルの移動
shutil.move("example.txt", "new_directory/example.txt")
print("ファイル 'example.txt' を new_directory に移動しました。")
解説:
shutil.move()
はファイルを別の場所に移動します。この関数はファイルの名前を変更する機能も持っています。- ファイルの整理やバックアップの際に非常に有効です。定期的に新しいフォルダにレポートやログを移動させるといった自動化が可能です。
2.2 データの読み書きとCSV操作
CSVファイルは、多くの業務システムでデータのやり取りに使われる形式です。Pythonのcsv
モジュールを使えば、CSVファイルの読み書きが簡単に行えます。
2.2.1 CSVファイルの書き込み
まずは、データをCSVファイルに書き込むスクリプトです。例えば、日次の売上データを自動的にCSVファイルに保存する場合を考えます。
import csv
# 書き込み用データ
sales_data = [
["日付", "商品名", "売上"],
["2024-10-01", "商品A", 1000],
["2024-10-02", "商品B", 1500],
["2024-10-03", "商品C", 1200]
]
# CSVファイルにデータを書き込む
with open("sales.csv", "w", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerows(sales_data)
print("売上データを 'sales.csv' に書き込みました。")
解説:
csv.writer()
を使ってデータを書き込みます。writerows()
メソッドは複数行のデータを一度に書き込むことができ、sales_data
リストの中身がCSV形式で保存されます。newline=""
は、Windows環境で余分な空行が挿入されるのを防ぐための設定です。
2.2.2 CSVファイルの読み込み
次に、保存されたCSVファイルを読み込むスクリプトです。これにより、業務システムから出力されたデータを自動で取り込んで処理することができます。
import csv
# CSVファイルの読み込み
with open("sales.csv", "r", encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
print(row)
解説:
csv.reader()
を使ってCSVファイルを1行ずつ読み込みます。- ループの中で各行のデータを処理することが可能です。このスクリプトは、例えば売上データを集計したり、特定の条件に合致するデータを抽出するのに役立ちます。
2.3 簡単なデータ処理
データのリネームや分類は、ファイル管理やデータ整理の際に必要となる業務の一部です。これもPythonを使って自動化できます。
2.3.1 ファイルのリネーム
ファイル名に日付を加えたり、規則に従ってファイルをリネームする処理は頻繁に行われます。os.rename()
を使ってファイルの名前を変更することができます。
import os
# ファイル名を変更
os.rename("example.txt", "renamed_example.txt")
print("ファイル 'example.txt' を 'renamed_example.txt' にリネームしました。")
解説:
os.rename()
関数でファイル名を変更します。業務においては、例えば日次レポートに日付を付けるためにファイル名を変更するスクリプトが活用できます。
2.3.2 ファイルの分類
大量のファイルを種類ごとや日付ごとに分類することも、手作業で行うと時間がかかりますが、Pythonで自動化できます。次のコードは、拡張子ごとにファイルを異なるフォルダに移動する例です。
import os
import shutil
# 対象のディレクトリ
source_dir = "source_folder"
destination_dir_txt = "txt_files"
destination_dir_csv = "csv_files"
# ディレクトリが存在しない場合は作成
os.makedirs(destination_dir_txt, exist_ok=True)
os.makedirs(destination_dir_csv, exist_ok=True)
# ファイルを拡張子ごとに分類して移動
for filename in os.listdir(source_dir):
if filename.endswith(".txt"):
shutil.move(os.path.join(source_dir, filename), os.path.join(destination_dir_txt, filename))
elif filename.endswith(".csv"):
shutil.move(os.path.join(source_dir, filename), os.path.join(destination_dir_csv, filename))
print("ファイルの分類が完了しました。")
解説:
os.listdir()
で指定したディレクトリの中にあるファイルをリストアップし、拡張子によって分類します。shutil.move()
でそれぞれのファイルを対応するフォルダに移動させます。例えば、日報やレポートなど異なる形式のファイルを自動でフォルダに整理するのに便利です。
初心者におすすめ!プログラミングスクールのススメ
未経験でも気軽に!サブスク型プログラミングスクール【Freeks】
プログラミングを始めたいと思っているそこのあなた、独学よりもプログラミングスクールが断然おすすめです!理由は簡単、続けやすさです。
独学の挫折率、驚きの87.5%!
独学でプログラミングを続けるのは、実はかなりハードルが高いんです。データによると、なんと87.5%もの学習者が途中で挫折しているとか。一方、各プログラミングスクールが公表しているデータによると、受講生の約95%が最後までやり抜いているとのこと。数字を見れば一目瞭然、プログラミングスクールの方が圧倒的に続けやすいんです。
有料と無料、スクールの違いは?
プログラミングスクールには有料と無料のタイプがありますが、その違いは次の通りです:
- 受講条件が異なる
- 学べるスキルやカリキュラム内容が異なる
- 就職や転職のサポート内容が異なる
どちらが自分に合っているか、よく考えて選ぶのが大事です。
サブスク型プログラミングスクール『FREEKS(フリークス)』に注目!
プログラミング初心者でも学びやすいと評判の『FREEKS』、その特徴は以下の通り:
- 未経験者向けのわかりやすいカリキュラム
- 経験豊富なエンジニアのサポート
- オンラインで自分のペースで学習可能
なんと、月会費のみで全カリキュラムが受け放題!Java、PHP、HTML/CSS、JavaScriptなど、多彩なプログラミング言語が学べるんです。しかも、AIが質問に自動で答えてくれるシステムも導入済み。
終了後は副業もサポート!
カリキュラムを終了した後には、Freeks経由で未経験者でも取り組める副業案件の受注が可能。実務を通じてスキルを磨き、市場価値の高いエンジニアへの道が開けます。
独学で悩むくらいなら、まずはプログラミングスクールをチェックしてみるのもアリかもしれませんよ!
↓ ↓ こちらをクリック ↓ ↓