プログラミング学習

【初心者向け】PythonでCSVファイルを読み書きする方法と活用アイデア|業務効率化に最適!

記事内に商品プロモーションを含む場合があります

業務で扱うデータの多くは、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とVBAの違いを徹底比較!できること・できないことと使い分けのポイント「Excelの作業をもっと効率化したいけど、PythonとVBAどっちを学べばいいの?」 「データ分析や自動化をしたいが、違いがよく分...

まとめ

PythonでCSVファイルを扱うことで、日々の業務を効率化し、より高度なデータ処理が可能になります。初心者でも簡単に始められるので、まずは小さな処理から試してみましょう。

データを「人が処理する」から「Pythonに任せる」へ。業務の自動化は、あなたの時間を生み出す最も効果的な投資です。

AIブロガー
筆者:yuki
Python未経験からAIと対話しながらコード作成。副業×自動化×プログラミングの可能性を模索中。 ▷詳細プロフィールはこちら