業務で扱うデータの多くは、CSV(カンマ区切り)形式で保存されています。
顧客リスト、売上データ、社員情報など、Excelやシステムから出力されるCSVファイルは、日々の業務に欠かせない存在です。
そんなCSVファイルをPythonで効率よく読み書き・加工・分析できることをご存じでしょうか?
Excelだけでは難しい「自動処理」や「一括変換」も、Pythonを使えば数行のコードで実現できます。
本記事では、Python初心者でもすぐに使えるCSV処理の基本から、実務で役立つ活用アイデアまでをわかりやすく解説します。VBAやバッチファイルの経験がある方にも、PythonによるCSV処理は非常に相性が良く、業務改善の強力な武器になります。
PythonでCSVファイルを扱う方法
方法①:標準ライブラリ csv を使う
Pythonには、追加インストール不要で使える標準ライブラリ「csv」が用意されています。軽量でシンプルなため、基本的な入出力処理に最適です。
✅ 読み込み
import csv
with open('sample.csv', newline='', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
csv.reader()を使って CSV ファイルを1行ずつリストとして取得します。for row in reader:で1行ずつ処理できるので、シンプルな読み込みに向いています。- Excelで開ける形式のCSVをそのまま扱えるため、初心者でも扱いやすいのが特徴です。
✅ 書き込み
import csv
data = [['名前', '年齢'], ['田中', 30], ['佐藤', 25]]
with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(data)
csv.writer()を使ってリスト形式のデータを CSV ファイルに書き込みます。writer.writerows(data)で複数行を一気に書き込めます。- 顧客リストや売上データなど、定期的な出力処理を自動化したいときに便利です。
方法②:データ分析に便利な pandas を使う
データの集計や分析を行う場合は、Pythonの定番ライブラリpandasの使用が便利です。表計算ソフトのように扱える「DataFrame」構造が特徴で、業務データ分析に非常に適しています。
✅ 読み込み
import pandas as pd
df = pd.read_csv('sample.csv')
print(df)
pd.read_csv()で CSV ファイルを DataFrame として読み込めます。- Excelのように列名を指定して抽出・並び替え・集計などが簡単に行えます。
- 数千〜数万件のデータでも高速に処理できるため、業務システムとの連携にも活用されています。
✅ 書き込み
import pandas as pd
data = {'名前': ['田中', '佐藤'], '年齢': [30, 25]}
df = pd.DataFrame(data)
df.to_csv('output.csv', index=False)
- 辞書やリストから DataFrame を作成して CSV に出力します。
index=Falseを指定すると、余計な行番号(インデックス列)を出力しません。- レポート出力や集計結果の自動保存などに最適です。
PythonでCSVを扱うと何ができる?
PythonでCSVを操作できるようになると、手作業では大変だった処理を自動化できます。特に以下のような場面で力を発揮します。
基本的な処理
- データの読み込み・表示
- 特定の列や条件で抽出
- データの加工(フォーマット変換・整形など)
応用的な処理
- 集計(合計・平均など)
- グラフ化(売上推移・部門別分析など)
- 複数ファイルの一括処理
- 自動化(定期処理・メールレポート生成など)
特に、pandasを使った「CSVの一括集計+グラフ化」は、Excelでは時間がかかる処理を一瞬で終わらせることができるため、現場の業務効率化に直結します。
実務での活用例
以下は、筆者が実際に業務でPythonによるCSV処理を活用したシーンの一例です。営業・経理・人事・IT・マーケティングなど、幅広い部署で応用できます。
| 業務 | 活用例 |
| 営業 | 顧客リストから見込み客を抽出し、条件別に仕分け |
| 経理 | 月次売上データの自動集計とグラフ化(Excel出力対応) |
| 人事 | 社員情報のCSV更新と部署別リスト作成 |
| IT | ログファイルの解析・エラー発生箇所の抽出 |
| マーケ | キャンペーン結果の分析とレポート作成 |
上記のような作業を自動化することで、1日1時間以上の作業削減も実現可能です。特に定型レポート業務では、Pythonの導入効果が非常に高いです。
VBA・バッチ経験者におすすめの活用法
VBAやバッチファイルの経験がある方は、Pythonを使うことでより柔軟で拡張性の高い処理が可能になります。Windows環境とも親和性が高く、既存の仕組みに組み込むのも簡単です。
- VBAでCSV出力 → Pythonで集計 → 結果をExcelに戻す
- バッチでCSV取得 → Pythonで自動処理 → メールでレポート送信
筆者の職場でも、毎朝の売上データ処理をPython化したことで、手作業を完全に排除し、朝の確認作業が10分以内に短縮できました。Excelマクロよりも高速でエラーが少ないため、今では業務自動化の中心的なツールとなっています。
まとめ
PythonでCSVファイルを扱うことで、日々の業務を効率化し、より高度なデータ処理が可能になります。初心者でも簡単に始められるので、まずは小さな処理から試してみましょう。
データを「人が処理する」から「Pythonに任せる」へ。業務の自動化は、あなたの時間を生み出す最も効果的な投資です。

